• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите научиться оптимально програмировать.

  • Автор темы KiR
  • Дата начала
E

ech

Давайте вернмся в тему. Попрошу пожалуйста примеров. Вот стоит какая-то задача, ну скажем загрузить некие данные в бд. Понятно, что рисуется некая форма диалога и переходим к модулю. На каком этапе начинается использование процедур (кроме одной, которая привязанна к кнопке)? В смысле в какой последовательности следует "планировать" структуту модуля? надеюсь понятно объяснился?...

попытаюсь объяснить свое видиние на пальцах. Вот пишешь ты отчет неважно какой. Есть кнопарь "сформировать", и ты под эту кнопу запихиваешь всю задачу. Пишешь строки, например:
Пока Запрос.Группировка(1)=1 Цикл \\ здесь все понятно
....
док = Запрос.Работа; \\ тут присваиваешь переменной док запрос.Работа, для удобства

допустим реквизит
"РаботаВыполненнаяСотрудника" это таблица значений документа "Работы", куда вписано эдак от 1 до 10 сотрудников с ФИО и храним нашу тз в реквизите докуметна (строка неогран длины) НашаТЗ.

т = ИзСтрокиВнутр(док.НашаТЗ); \\ тут загружаешь ТЗ документа в переменную "т"
РаботаВыполненная = Запрос.Работа; \\ тут ты присваиваешь переменной РаботаВыполненная выборку Работ из документа например "Работы"
РаботаВыполненнаяСотрудника = ПолучитьСотрудников(т); \\ вот тут самое интересное, собственно то что хочу показать,
Вот тут ты и думаешь, "а там же в доке ТЗ и ее не вытянуть как Запрос.РаботаВыполненнаяСотрудника". И правильно думаешь, и тут приходит одно написать ф-цию которая это сделает и вызвать в нужно месте. вот и все

Ф-ция ПолучитьСотрудника(запрос)

сотр = "";
запрос.ВыбратьСтроки()
пока Запрос.ПолучитьСтроку=1 Цикл
сотр = сотр + Запрос.Сотрудник+РазделительСтрок;
КонецЕсли;
Возврат сотр;
КонецФ

И вызываешь ее как покано выше. она вернет тебе сотрудников которые в ТЗ в столбик



Написал как мог, ибо спать хочу. Надеюсь доходчиво
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!