Здравствуйте, мне нужно чтобы каждый товар печатался отдельно по документу, то есть если один документ прикреплен к нескольким товарам номенклатуры значит печатаются все товары в один документ и далее печатается следующий документ. Сейчас же у меня все товары прут в одну печать, подскажите что не так сделал?
//Модуль менеджера
Функция ТекстНоменклатура(Номенклатура)
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТЗНоменклатура = Номенклатура.Выгрузить();
ТекстНоменклатура = "";
Для Каждого Стр Из ТЗНоменклатура Цикл
ТекстНоменклатура = ТекстНоменклатура +?(ТекстНоменклатура = "", Стр.Номенклатура.Наименование, ", " + Стр.Номенклатура.Наименование);
КонецЦикла;
Возврат ТекстНоменклатура;
КонецФункции
// Далее заполнил область
ОбластьЛицевая.Параметры.Пункт3_1 = ТекстНоменклатура(Номенклатура);
// В модуле формы
Функция ПечатьНовойТранспортнойНакладнойНаСервере(ТекущийДокумент, Элемент)
Возврат Документы.Рейс.Сформировать_ПФ_MXL_НоваяТранспортнаяНакладная(ТекущийДокумент, Элемент);
КонецФункции
&НаКлиенте
Процедура ПечатьНовойТранспортнойНакладной(Команда)
ТекДок = Объект.Ссылка;
МассивСсылок = ПолучитьМассивРеализаций(ТекДок);
Если МассивСсылок <> Неопределено Тогда
Для каждого Реализация из МассивСсылок Цикл
ТабличныйДокумент = ПечатьНовойТранспортнойНакладнойНаСервере(ТекДок, Реализация);
Если ТабличныйДокумент <> Неопределено Тогда
ДлинаЗаголовка = СтрДлина(Строка(Реализация)) - 8;
ТабличныйДокумент.Показать("Транспортная накладная по: " + Лев(Строка(Реализация), ДлинаЗаголовка));
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьМассивРеализаций(ТекДок)
МассивРеализаций = Новый Массив;
// Группируем по реализациям, чтобы на РАЗНЫЕ реализации создавалось по одной транспортной накладной
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РейсЗаказы.Документ КАК Документ,
| РейсЗаказы.Документ.Проведен КАК ДокументПроведен
|ИЗ
| Документ.Рейс.Заказы КАК РейсЗаказы
|ГДЕ
| РейсЗаказы.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РейсЗаказы.Документ,
| РейсЗаказы.Документ.Проведен
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("Ссылка", ТекДок);
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Если ТипЗнч(Выборка.Документ) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
Если НЕ Выборка.ДокументПроведен Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтрШаблон("%1 не проведена. Транспортная накладная не сформирована.", Выборка.Документ);
Сообщение.Сообщить();
Иначе
МассивРеализаций.Добавить(Выборка.Документ);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат МассивРеализаций;
КонецЕсли;
КонецФункции
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Отчет по дисконтам (в разрезе и отбору по Дисконтным картам, Номенклатуре, Документам движения, Периодам (день, декада, месяц, год))
- Расширенная установка цен номенклатуры по документу Поступление товаров и услуг и подбору
- Заполнение документа "Установка цен номенклатуры" по документу "Пересчет товаров" (Для 1С: Розница 2.2)
- Генерация штрих-кодов номенклатуры по документу для 1С:Розница 2.2/2.3
- Оценка движений по количеству номенклатуры по документам (УНФ)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот