Цикл вместо процедуры — плохо

Встретил классический случай, когда массивы используют вместо вызова процедур:

мСписки = Новый Массив;
мСписки.Добавить(Элементы.НаименованиеЗагрузка.СписокВыбора);
мСписки.Добавить(Элементы.НаименованиеЗагрузка1.СписокВыбора);

Для каждого Список из мСписки Цикл
	
	Список.Очистить();
	Список.Добавить(1, "по артикулу");
	Список.Добавить(2, "по наименованию");
	Список.Добавить(3, "по коду");
	Список.Добавить(4, "по штрихкоду");
	Список.Добавить(5, "по описанию");
	Список.Добавить(6, "по доп. реквизиту");
	
КонецЦикла;

Ведь намного более понятна суть операции была бы, если бы использовался вызов процедур:

ЗаполнитьСписокВыбора(Элементы.НаименованиеЗагрузка.СписокВыбора);
ЗаполнитьСписокВыбора(Элементы.НаименованиеЗагрузка1.СписокВыбора);

Процедура ЗаполнитьСписокВыбора(Список)
	
	Список.Очистить();
	Список.Добавить(1, "по артикулу");
	Список.Добавить(2, "по наименованию");
	Список.Добавить(3, "по коду");
	Список.Добавить(4, "по штрихкоду");
	Список.Добавить(5, "по описанию");
	Список.Добавить(6, "по доп. реквизиту");
	
КонецПроцедуры

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 4

  1. Арим:

    Вообще весь код какой-то бред болезненный — сначала заполняем, потом перезаполняем

    И зачем выделять код в функции если это больше никем не импользуется

    • Там заполняются два разных списка на форме. Так что ничего не перезаполняем.
      Функции более читаемы чем цикл на два прохода.

  2. Пномау:

    Ты меня не понимаешь?

    мСписки.Добавить()
    мСписки.Добавить()
    Для каждого список из мСписки Цикл
    список.Очистить()
    список.Добавить()
    …..

Добавить комментарий для fixin Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *