Может и простой вопрос, но для меня сложный
Есть написанная функция. В нее передается ТЗ с товарами для создания заказа.
Необходимо сделать фильтр на ТЗ и передавать часть позиций (для конкретного помещения на складе).
Как это можно сделать?
Может немножко сумбурно, вот код. Читаются в ТЗ из Excel. В ТЗ я уже протянула поле "Помещение".
Хотелось бы
Есть написанная функция. В нее передается ТЗ с товарами для создания заказа.
Необходимо сделать фильтр на ТЗ и передавать часть позиций (для конкретного помещения на складе).
Как это можно сделать?
Может немножко сумбурно, вот код. Читаются в ТЗ из Excel. В ТЗ я уже протянула поле "Помещение".
ТЗ = ПолучитьТоварыДляЗаказа()
...
СформироватьЗаказВ1С(Дата, Контрагент, ТЗ)
Хотелось бы
ТЗ = ПолучитьТоварыДляЗаказа()
...
ПомещенияВЗаказе = ТЗ.Свернуть("Помещение");
Для каждого стр из ПомещенияВЗаказе
ТЗ_Фильтр = ???
СформироватьЗаказВ1С(Дата, Контрагент, ТЗ_Фильтр)
КонецЦикла;
По теме из базы знаний
- Фильтруем и выводим "ТаблицуЗначений"
- Ещё немного функционального стиля в 1С или Как нам отфильтровать таблицу значений
- Copilot – твой парный ИИ-программист
- Фильтры в табличном документе на управляемых формах (как в екселе)
- «Управление отзывами» – автоматизируйте работу с отзывами покупателей на Ozon и Wildberries из 1С
Найденные решения
Скопировать(<ПараметрыОтбора>, <Колонки>)
Параметры:
<ПараметрыОтбора> (необязательный)
Тип: Структура.
Ключ структуры - идентификатор колонки, а значение структуры - значение отбора.
<Колонки> (необязательный)
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...".
Параметры:
<ПараметрыОтбора> (необязательный)
Тип: Структура.
Ключ структуры - идентификатор колонки, а значение структуры - значение отбора.
<Колонки> (необязательный)
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...".
Спасибо всем, это я торможу...
ДанныеЗаказа , ТЗ - это ТаблицаЗначений
ТЗ = ПолучитьТоварыДляЗаказа()
ПараметрыСклада = ТЗ.Скопировать();
ПараметрыСклада.Свернуть("Этаж, Линия");
...
Для каждого Стр из ПараметрыСклада цикл
Отбор = Новый Структура;
Отбор.Вставить("Этаж", стр.Этаж);
Отбор.Вставить("Линия", стр.Линия);
ДанныеЗаказа = ТЗ.Скопировать(Отбор);
СформироватьЗаказВ1С(Дата, Контрагент, ДанныеЗаказа )
КонецЦикла;
ПоказатьДанныеЗаказа , ТЗ - это ТаблицаЗначений
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Скопировать(<ПараметрыОтбора>, <Колонки>)
Параметры:
<ПараметрыОтбора> (необязательный)
Тип: Структура.
Ключ структуры - идентификатор колонки, а значение структуры - значение отбора.
<Колонки> (необязательный)
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...".
Параметры:
<ПараметрыОтбора> (необязательный)
Тип: Структура.
Ключ структуры - идентификатор колонки, а значение структуры - значение отбора.
<Колонки> (необязательный)
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...".
Зависит от сложности фильтра. Если предполагается обойтись условиями "равно" на значения колонок, то фильтром можно сделать структуру и потом пользоваться процедурами вроде НайтиСтроки или как в (2). Если условия сложнее, то можно, конечно, устроить запрос, но (дальше любителям академически правильного оптимального программирования лучше не смотреть) я бы использовал перебор строк.
(9) Если у вас в функции один большой цикл Для Каждого, то передав массив ничего переписывать и не придется.
И это будет экономней по памяти (т.к. будут ссылки на те же строки), чем делать копию таблицы, пусть и с отбором (если мы говорим о большой ТЗ, конечно).
И это будет экономней по памяти (т.к. будут ссылки на те же строки), чем делать копию таблицы, пусть и с отбором (если мы говорим о большой ТЗ, конечно).
Спасибо всем, это я торможу...
ДанныеЗаказа , ТЗ - это ТаблицаЗначений
ТЗ = ПолучитьТоварыДляЗаказа()
ПараметрыСклада = ТЗ.Скопировать();
ПараметрыСклада.Свернуть("Этаж, Линия");
...
Для каждого Стр из ПараметрыСклада цикл
Отбор = Новый Структура;
Отбор.Вставить("Этаж", стр.Этаж);
Отбор.Вставить("Линия", стр.Линия);
ДанныеЗаказа = ТЗ.Скопировать(Отбор);
СформироватьЗаказВ1С(Дата, Контрагент, ДанныеЗаказа )
КонецЦикла;
ПоказатьДанныеЗаказа , ТЗ - это ТаблицаЗначений
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот