Доброго времени суток.
Для каждого СтрТЧ Из ТЧ Цикл
ДокументЗаказПоставщику = Документы.ЗаказПоставщику.СоздатьДокумент();
ДокументЗаказПоставщику.Дата = ТекущаяДата();
ДокументЗаказПоставщику.Контрагент = СтрТЧ.Номенклатура.Поставщик;
ДокументЗаказПоставщику.Склад = Склад;
НоваяСтрокаТЧДокумента = ДокументЗаказПоставщику.Товары.Добавить();
НоваяСтрокаТЧДокумента.Номенклатура = СтрТЧ.Номенклатура;
НоваяСтрокаТЧДокумента.Количество = СтрТЧ.КупитьНужно;
НоваяСтрокаТЧДокумента.Сумма = СтрТЧ.ЦенаЗакупки;
ДокументЗаказПоставщику.Записать();
ДокументЗаказПоставщику.Записать(РежимЗаписиДокумента.ОтменаПроведения);
Сообщить("Создан документ: заказ поставщику " + СтрТЧ.Номенклатура.Поставщик + " на товар " + СтрТЧ.Номенклатура + " в количестве " + СтрТЧ.КупитьНужно + " шт.");
Элементы.СозданиеЗаказаПотавщику.Доступность = Ложь;
КонецЦикла;
выборку по ТЧ источника группируем по Контрагент-Номенклатура
обходим ее и для каждого контрагента создаем свой документ
А можно пример кода.
Я пробовал метод свернуть, не получилось. сварачивается только колонка поставщик, а все остальные колонки пустые
написать выборку из ТЧ с конструкцией ИТОГИ ?
бросьте программирование...
Я вот не понимаю, за чем так реагировать...
Я понимаю что вопрос может и простой, но для новичка он может быть и не простым.
Натолкнуть и какой нибудь пример написать на мой взгляд это было бы правильно.
типо так - для творческого осмысления / писАл без помощников /
тз =тч.Выгрузить();
запрос = новый Запрос;
запрос.УстановитьПараметр("тз",тз);
запрос.текст = "
ВЫБРАТЬ * ПОМЕСТИТЬ тВр ИЗ &тз как тз;
ВЫБРАТЬ * ИЗ тВр как тт
УПОРЯДОЧИТЬ по ......
ИТОГИ СУММА(Количество) ПО Контрагент, Номенклатура
";
вв = запрос.Выполнить().Выбрать(... обход по группировкам...);
Пока вв.Следующий() Цикл
... тут создаем документ
ввТовары = вв.Выбрать();
Пока ввТовары.Следующий() Цикл
... тут добавляем товары
КонецЦикла;
... тут записываем документ
КонецЦикла;
ТаблЗнач = ЭтотОбъект.ТЧ.Выгрузить();
ТаблЗначСв = ТаблЗнач.Скопировать();
ТаблЗначСв.Свернуть("Поставщик","");
Для Каждого СтрСв Из ТаблЗначСв Цикл
СтруктураПоиска = Новый Структура();
СтруктураПоиска.Вставить("Поставщик",СтрСв.Поставщик);
НайденныеСтроки = ТаблЗнач.НайтиСтроки(СтруктураПоиска);
Если НайденныеСтроки.Количество() > 0 Тогда // создаем новый документ
ДокументЗаказПоставщику = Документы.ЗаказПоставщику.СоздатьДокумент();
ДокументЗаказПоставщику.Дата = ТекущаяДата();
ДокументЗаказПоставщику.Контрагент = СтрСв.Поставщик;
ДокументЗаказПоставщику.Склад = Склад;
Для Каждого СтрНайденыш Из НайденныеСтроки Цикл
НоваяСтрокаТЧДокумента = ДокументЗаказПоставщику.Товары.Добавить();
НоваяСтрокаТЧДокумента.Номенклатура = СтрНайденыш.Номенклатура;
НоваяСтрокаТЧДокумента.Количество = СтрНайденыш.КупитьНужно;
НоваяСтрокаТЧДокумента.Сумма = СтрНайденыш.ЦенаЗакупки;
ДокументЗаказПоставщику.Записать();
ДокументЗаказПоставщику.Записать(РежимЗаписиДокумента.ОтменаПроведения);
Сообщить("Создан документ: заказ поставщику " + СтрНайденыш.Номенклатура.Поставщик + " на товар " + СтрНайденыш.Номенклатура + " в количестве " + СтрНайденыш.КупитьНужно + " шт.");
Элементы.СозданиеЗаказаПотавщику.Доступность = Ложь;
конецЦикла;
КонецЕсли;
КонецЦикла;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua