Эта статья адресована тем, кто начинает программировать в среде 1С: Предприятие 8.3.
Усвоив практические задания и теорию сертифицированных курсов по программированию 1С перед начинающим разработчиком-программистом возникают проблемы связанные с пониманием сложных механизмов типовых конфигураций , в которых работает будущий работодатель. Одной из таких часто используемых типовых конфигураций является 1С: Бухгалтерия предприятия 3.0.
При написании программного кода программист часто встречается с необходимостью получать запросами данные на сервере, хранить их на протяжении сеанса и использовать в алгоритмах это множество данных, используя лишь один символ или одно имя как массив или как другой тип универсальной коллекции значений.
В приведенном ниже примере описывается формирование массива, возвращаемого функцией СписокДокументовПриемНаРаботу(), написанной в общем модуле ЗарплатаКадрыОбновлениеСПредыдущейРедакции типовой конфигурации Бухгалтерия предприятия 3.0(3.0.35.27).
Что такое массив?
Массив представляет собой пронумерованную коллекцию значений произвольного типа. К элементу массива можно обращаться по его индексу. В качестве элементов массива могут выступать, в частности, другие массивы. Это позволяет создавать многомерные массивы. Безразмерным можно назвать массив количество элементов которого неограниченно.
Пример использования безразмерного массива
В общем модуле ЗарплатаКадрыОбновлениеСПредыдущейРедакции есть функция (в конфигурации Бухгалтерия предприятия редакция 3.0 (3.0.35.27)
Рисунок 1
В этой функции реализован запрос к серверу где в прикладном объекте Документ.УдалитьПриемНаРаботуВОрганизацию есть данные, представляющие множество значений. Это ссылки на документы. Чтобы сохранить это множество для дальнейшего использования разработчики создали безразмерный массив СписокДокументов, который заполняется в цикле. Данная функция возвращает Ссылки на документы, которые хранятся в массиве СписокДокументов.
Чтобы посмотреть, как работает функция и какой результат она возвращает можно воспользоваться отладчиком. Для этого необходимо обратиться к событию, при котором отрабатывает эта функция. Чтобы упростить задачу создадим внешнюю обработку, с помощью которой проверим работоспособность функции.
В основной конфигурации в меню Файл-Новый-Внешняя обработка создадим обработку ПроверкаРаботоспособностиФункции
Рисунок 2
Рисунок 3
И реквизит Комментарий –тип:Строка
Рисунок 4
Затем создадим форму обработки с помощью конструктора формы, на форме создадим реквизит формы «ЭлементыМассива» тип-СписокЗначений
Рисунок 5
Создадим на форме команду «Проверка», для которой в модуле формы создадим процедуру-обработчик.
Здесь есть тонкости, заключающиеся в том, где компилятор выполнит процедуру: &НаКлиенте или &НаСервере.
Функция СписокДокументовПриемНаРаботу() не экспортная и чтобы получить возвращаемый ею массив ее надо сделать экспортной.
Тогда можно &НаКлиенте получить возвращаемый ею массив.
В противном случае придется копировать код функции (представлен выше) в процедуру &НаСервере.
В моем примере Функция СписокДокументовПриемНаРаботу() Экспорт преобразована в экспортную.
Напишем код процедура-обработчика
Рисунок 6
Этот простой способ позволит протестировать и увидеть результат работы функции, выполнив обучаемыми разработчиками -программистами самостоятельную работу и приобрести собственный практический опыт при редактировании функциональности процедур и функций 1С: Бухгалтерия 3.0.
Рисунок 7
Статья показывает, как сложное и вначале непонятное упростить и запомнить.
Автор Петров А.А., преподаватель программирования в системе 1С:Предприятие 8 в учебном центре Первый Бит.
Хотите обучиться программированию 1С с нуля или повысить квалификацию? Ищите все курсы учебного центра по ссылке или оставьте заявку, и наши менеджеры помогут подобрать подходящий курс.