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