|
Получение данных из регистра сведений | ☑ | ||
---|---|---|---|---|
0
Andreik113
24.08.22
✎
15:51
|
Нужно в печатную форму вывести штрихкоды номенклатуры. У одной номенклатуры могут быть разные штрихкоды. Нужно как-то из регистра сведений ШтрихкодыНоменклатуры достать данные штрихкодов для номенклатуры. Делаю запрос, данные не точные.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод, | ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура, | ШтрихкодыНоменклатуры.Характеристика КАК Характеристика, | ШтрихкодыНоменклатуры.Партия КАК Партия, | ШтрихкодыНоменклатуры.ЕдиницаИзмерения КАК ЕдиницаИзмерения |ИЗ | РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры |ГДЕ | ШтрихкодыНоменклатуры.Штрихкод = &Штрихкод | И ШтрихкодыНоменклатуры.Штрихкод = &Номенклатура | И ШтрихкодыНоменклатуры.Штрихкод = &Характеристика | И ШтрихкодыНоменклатуры.Штрихкод = &Партия | И ШтрихкодыНоменклатуры.Штрихкод = &ЕдиницаИзмерения"; Запрос.УстановитьПараметр("ЕдиницаИзмерения", ЕдиницаИзмерения); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("Партия", Партия); Запрос.УстановитьПараметр("Характеристика", Характеристика); Запрос.УстановитьПараметр("Штрихкод", Штрихкод); РезультатЗапроса = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Штрихкод"); |
|||
1
PR
24.08.22
✎
15:52
|
Да
|
|||
2
Галахад
гуру
24.08.22
✎
15:53
|
Нет.
|
|||
3
Гипервизор
24.08.22
✎
15:57
|
Передать штрихкод для получения штрихкода. Штош, приемлимо.
|
|||
4
vicof
24.08.22
✎
16:06
|
Штрихкод не может быть одновременно штрихкодом, номенклатурой, характеристикой, партией и единицей измерения
|
|||
5
Kassern
24.08.22
✎
16:08
|
(4) этот штрихкод на все руки мастер)
|
|||
6
Strogg
24.08.22
✎
16:09
|
а клевый запрос
|
|||
7
Eiffil123
24.08.22
✎
16:53
|
(4) но если данные не точные, значит они таки есть.
|
|||
8
alarm2020
24.08.22
✎
17:00
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод |ИЗ | РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры |ГДЕ | ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура"; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); РезультатЗапроса = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Штрихкод"); |
|||
9
Andreik113
25.08.22
✎
10:50
|
Переделал запрос. Результат запроса пустой
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод |ИЗ | РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры |ГДЕ | ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура | И ШтрихкодыНоменклатуры.Характеристика = &Характеристика"; Запрос.УстановитьПараметр("Номенклатура", СтрокаЗапасы.Номенклатура); Запрос.УстановитьПараметр("Характеристика", СтрокаЗапасы.Характеристика); РезультатЗапроса = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Штрихкод"); |
|||
10
Kassern
25.08.22
✎
10:58
|
(9) Уберите отбор по характеристике и гляньте, если ли вообще ШК у номенклатуры.
|
|||
11
Andreik113
25.08.22
✎
11:06
|
(10) ШК есть. У одной номенклатуры разная характеристика и есть несколько шк. нужно, чтобы шк соответствовал номенклатуре и ее характеристике
|
|||
12
Kassern
25.08.22
✎
11:08
|
(11) В вашем случае, нет штрихкода по уникальному набору СтрокаЗапасы.Номенклатура+СтрокаЗапасы.Характеристика
|
|||
13
Kassern
25.08.22
✎
11:08
|
Поэтому и массив у вас пустой
|
|||
14
Andreik113
25.08.22
✎
11:12
|
(13) Так, а как это можно исправить? Куда копать?
|
|||
15
Andreik113
25.08.22
✎
11:16
|
Весь текст печатной формы
Процедура СформироватьЗаказПокупателя(ПечатнаяФорма, МассивОбъектов, ОбъектыПечати, Ошибки) Перем ПервыйДокумент, НомерСтрокиНачало; ТабличныйДокумент = ПечатнаяФорма.ТабличныйДокумент; // Макет = УправлениеПечатью.МакетПечатнойФормы(ПечатнаяФорма.ПолныйПутьКМакету); Макет = ПолучитьМакет("ПФ_MXL_ЗаказПокупателя"); ПредставлениеСкидки = Константы.ПредставлениеСкидкиВПечатнойФорме.Получить(); Запрос = Новый Запрос(); Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов); Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.Ссылка КАК Ссылка, | ЗаказПокупателя.Номер КАК Номер, | ЗаказПокупателя.Дата КАК ДатаДокумента, | ЗаказПокупателя.Организация КАК Организация, | ЗаказПокупателя.Контрагент КАК Контрагент, | ЗаказПокупателя.АдресДоставки КАК АдресДоставки, | ЗаказПокупателя.Грузополучатель КАК Грузополучатель, | ЗаказПокупателя.СуммаВключаетНДС КАК СуммаВключаетНДС, | ЗаказПокупателя.ВалютаДокумента КАК ВалютаДокумента, | ЗаказПокупателя.Ответственный КАК Ответственный, | ЗаказПокупателя.Организация.Префикс КАК Префикс, | ЗаказПокупателя.ОсновнойВариантКП КАК ОсновнойВариантКП, | ЗаказПокупателя.ОжидаетсяВыборВариантаКП КАК ОжидаетсяВыборВариантаКП, | ЗаказПокупателя.СпособДоставки КАК СпособДоставки, | ЗаказПокупателя.Вес КАК Вес, | ВЫБОР | КОГДА ЗаказПокупателя.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ЗаказНаряд) | ИЛИ ЗаказПокупателя.СпособДоставки В (ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.ПустаяСсылка), ЗНАЧЕНИЕ(Перечисление.СпособыДоставки.Самовывоз)) | ТОГДА ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) | ИНАЧЕ ЗаказПокупателя.НоменклатураДоставки | КОНЕЦ КАК НоменклатураДоставки, | ВЫБОР | КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.НоменклатураДоставки.НаименованиеПолное КАК СТРОКА(1000))) = """" | ТОГДА ЗаказПокупателя.НоменклатураДоставки.Наименование | ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.НоменклатураДоставки.НаименованиеПолное КАК СТРОКА(1000)) | КОНЕЦ КАК ПредставлениеНоменклатурыДоставки, | ЗаказПокупателя.НоменклатураДоставки.Код КАК КодДоставки, | ЗаказПокупателя.НоменклатураДоставки.Артикул КАК АртикулДоставки, | ЗаказПокупателя.НоменклатураДоставки.ЕдиницаИзмерения КАК ЕдиницаИзмеренияДоставки, | ЗаказПокупателя.СтоимостьДоставки КАК СтоимостьДоставки, | ЗаказПокупателя.СуммаНДСДоставки КАК СуммаНДСДоставки, | ЗаказПокупателя.СтавкаНДСДоставки КАК СтавкаНДСДоставки, | ЗаказПокупателя.Работы.( | НомерСтроки КАК НомерСтроки, | 0 КАК НомерВариантаКП, | ВЫБОР | КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.Работы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))) = """" | ТОГДА ЗаказПокупателя.Работы.Номенклатура.Наименование | ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.Работы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) | КОНЕЦ КАК ПредставлениеНоменклатуры, | Номенклатура.Код КАК Код, | Номенклатура.Артикул КАК Артикул, | Номенклатура.Штрихкод КАК Штрихкод, | Номенклатура.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения, | ЗаказПокупателя.Работы.Количество * ЗаказПокупателя.Работы.Коэффициент * ЗаказПокупателя.Работы.Кратность КАК Количество, | Цена КАК Цена, | Сумма КАК Сумма, | СтавкаНДС КАК СтавкаНДС, | СуммаНДС КАК СуммаНДС, | Всего КАК Всего, | 0 КАК Вес, | Характеристика КАК Характеристика, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ВЫБОР | КОГДА ЗаказПокупателя.Работы.ПроцентСкидкиНаценки <> 0 | ИЛИ ЗаказПокупателя.Работы.СуммаАвтоматическойСкидки <> 0 | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ КАК ЕстьСкидка, | Содержание КАК Содержание, | Ссылка.Старт КАК ДатаОтгрузки, | СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки, | ЛОЖЬ КАК ЭтоРазделитель, | ЛОЖЬ КАК ЭтоНабор, | ВЫБОР | КОГДА ЗаказПокупателя.Работы.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) | И ЗаказПокупателя.Работы.НоменклатураНабора.ВариантПечатиНабора = ЗНАЧЕНИЕ(Перечисление.ВариантыПечатиНаборов.НаборИКомплектующие) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеобходимоВыделитьКакСоставНабора, | НоменклатураНабора КАК НоменклатураНабора, | ХарактеристикаНабора КАК ХарактеристикаНабора | ) КАК ТаблицаРаботыУслуги, | ЗаказПокупателя.Запасы.( | НомерСтроки КАК НомерСтроки, | НомерВариантаКП КАК НомерВариантаКП, | ВЫБОР | КОГДА ТИПЗНАЧЕНИЯ(ЗаказПокупателя.Запасы.Номенклатура) = ТИП(СТРОКА) | ТОГДА ЗаказПокупателя.Запасы.Номенклатура | КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))) = """" | ТОГДА ЗаказПокупателя.Запасы.Номенклатура.Наименование | ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) | КОНЕЦ КАК ПредставлениеНоменклатуры, | Номенклатура.Код КАК Код, | Номенклатура.Артикул КАК Артикул, | Номенклатура.Штрихкод КАК Штрихкод, | ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения, | Количество КАК Количество, | Цена КАК Цена, | Сумма КАК Сумма, | СтавкаНДС КАК СтавкаНДС, | СуммаНДС КАК СуммаНДС, | Всего КАК Всего, | Вес КАК Вес, | ВЫБОР | КОГДА ЗаказПокупателя.Запасы.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ЗаказНаряд) | ТОГДА ЗаказПокупателя.Запасы.Ссылка.Старт | ИНАЧЕ ЗаказПокупателя.Запасы.ДатаОтгрузки | КОНЕЦ КАК ДатаОтгрузки, | Характеристика КАК Характеристика, | Содержание КАК Содержание, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ВЫБОР | КОГДА ЗаказПокупателя.Запасы.ПроцентСкидкиНаценки <> 0 | ИЛИ ЗаказПокупателя.Запасы.СуммаАвтоматическойСкидки <> 0 | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ КАК ЕстьСкидка, | СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки, | ЭтоРазделитель КАК ЭтоРазделитель, | ЛОЖЬ КАК ЭтоНабор, | ВЫБОР | КОГДА ЗаказПокупателя.Запасы.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) | И ЗаказПокупателя.Запасы.НоменклатураНабора.ВариантПечатиНабора = ЗНАЧЕНИЕ(Перечисление.ВариантыПечатиНаборов.НаборИКомплектующие) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК НеобходимоВыделитьКакСоставНабора, | НоменклатураНабора КАК НоменклатураНабора, | ХарактеристикаНабора КАК ХарактеристикаНабора, | Номенклатура КАК Номенклатура | ) КАК ТаблицаЗапасы, | ЗаказПокупателя.ДобавленныеНаборы.( | НоменклатураНабора КАК НоменклатураНабора, | ХарактеристикаНабора КАК ХарактеристикаНабора, | НомерВариантаКП КАК НомерВариантаКП, | Количество КАК Количество, | ВЫБОР | КОГДА (ВЫРАЗИТЬ(ЗаказПокупателя.ДобавленныеНаборы.НоменклатураНабора.НаименованиеПолное КАК СТРОКА(1000))) = """" | ТОГДА ЗаказПокупателя.ДобавленныеНаборы.НоменклатураНабора.Наименование | ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателя.ДобавленныеНаборы.НоменклатураНабора.НаименованиеПолное КАК СТРОКА(1000)) | КОНЕЦ КАК ЗапасНабора, | НоменклатураНабора.ВариантПечатиНабора КАК ВариантПечатиНабора, | НоменклатураНабора.ТипНоменклатуры КАК ТипНоменклатурыНабора, | НоменклатураНабора.Артикул КАК АртикулНабора, | НоменклатураНабора.Код КАК КодНабора, | НоменклатураНабора.ЕдиницаИзмерения КАК ЕдиницаИзмеренияНабора, | НоменклатураНабора.ЕдиницаИзмерения.Код КАК КодЕдиницыИзмеренияНабора, | ИСТИНА КАК ВыводитьИтоги | ) КАК ТаблицаДобавленныеНаборы, | ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя, | РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры |ГДЕ | ЗаказПокупателя.Ссылка В(&МассивОбъектов) | И (ЗаказПокупателя.ОсновнойВариантКП = 0 | ИЛИ ЗаказПокупателя.Запасы.НомерВариантаКП = ЗаказПокупателя.ОсновнойВариантКП) | |УПОРЯДОЧИТЬ ПО | Ссылка, | ЗаказПокупателя.Работы.НомерСтроки, | ЗаказПокупателя.Запасы.НомерСтроки"; ДанныеДокументов = Запрос.Выполнить().Выгрузить(); ДоставкаСервер.ДобавитьСтрокуДоставкиУниверсальныеДанные(ДанныеДокументов); // Наборы НаборыСервер.КомпоноватьТабличнуюЧастьПоНаборам(ДанныеДокументов, "ТаблицаЗапасы", Ошибки, Истина); НаборыСервер.КомпоноватьТабличнуюЧастьПоНаборам(ДанныеДокументов, "ТаблицаРаботыУслуги", Ошибки); Для каждого Шапка Из ДанныеДокументов Цикл Если Шапка.ОжидаетсяВыборВариантаКП Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = СтрШаблон( НСтр("ru='Печатная форма ""%1"" (%2) не может быть сформирована: не выбран основной вариант.'"), ПечатнаяФорма.СинонимМакета, Шапка.Ссылка); Сообщение.КлючДанных = Шапка.Ссылка; Сообщение.Сообщить(); Продолжить; КонецЕсли; ПечатьДокументовУНФ.ПередНачаломФормированияДокумента(ТабличныйДокумент, ПервыйДокумент, НомерСтрокиНачало); СведенияОбОрганизации = ПечатьДокументовУНФ.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента, ,); СведенияОбКонтрагенте = ПечатьДокументовУНФ.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаДокумента, ,); // Доставка ГрузополучательЗаполнен = (ЗначениеЗаполнено(Шапка.Грузополучатель) И Шапка.Грузополучатель <> Шапка.Контрагент); Если ГрузополучательЗаполнен Тогда СведенияОбКонтрагенте.Вставить("Грузополучатель", Шапка.Грузополучатель); КонецЕсли; АдресДоставкиЗаполнен = (НЕ ПустаяСтрока(Шапка.АдресДоставки) И Шапка.АдресДоставки <> СведенияОбКонтрагенте.ЮридическийАдрес); Если АдресДоставкиЗаполнен Тогда СведенияОбКонтрагенте.Вставить("АдресДоставки", Шапка.АдресДоставки); КонецЕсли; // Конец Доставка ТекстЗаголовка = СтрШаблон( НСтр("ru='Заказ покупателя № %1 от %2'"), ПечатьДокументовУНФ.ПолучитьНомерНаПечатьСУчетомДатыДокумента(Шапка.ДатаДокумента, Шапка.Номер, Шапка.Префикс), ПечатьДокументовУНФ.ПредставлениеДатыВДокументах(Шапка.ДатаДокумента)); ДанныеПечати = Новый Структура; ДанныеПечати.Вставить("ТекстЗаголовка", ТекстЗаголовка); ДанныеПечати.Вставить("ПредставлениеПоставщика", ПечатьДокументовУНФ.ОписаниеОрганизации( СведенияОбОрганизации, "ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,")); ДанныеПечати.Вставить("ПредставлениеПолучателя", ПечатьДокументовУНФ.ОписаниеОрганизации( СведенияОбКонтрагенте, "ПолноеНаименование,ИНН,КПП,РегистрационныйНомер,ЮридическийАдрес,Телефоны,Грузополучатель,АдресДоставки,")); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок.Параметры.Заполнить(ДанныеПечати); ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьЗаголовок, Шапка.Ссылка); ТабличныйДокумент.Вывести(ОбластьЗаголовок); ОбластьПоставщик = Макет.ПолучитьОбласть("Поставщик"); ОбластьПоставщик.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьПоставщик); ОбластьПокупатель = Макет.ПолучитьОбласть("Покупатель"); ОбластьПокупатель.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьПокупатель); ЕстьСкидки = (Шапка.ТаблицаЗапасы.Итог("ЕстьСкидка") + Шапка.ТаблицаРаботыУслуги.Итог("ЕстьСкидка")) <> 0; Если ЕстьСкидки Тогда ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("СтрокаСоСкидкой"); ОбластьГруппаРазделитель = Макет.ПолучитьОбласть("СтрокаСоСкидкойГруппировка"); Иначе ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьГруппаРазделитель = Макет.ПолучитьОбласть("СтрокаГруппировка"); КонецЕсли; СтруктураИтогов = Новый Структура; СтруктураИтогов.Вставить("Сумма", 0); СтруктураИтогов.Вставить("СуммаНДС", 0); СтруктураИтогов.Вставить("Всего", 0); СтруктураИтогов.Вставить("Количество", 0); СтруктураИтогов.Вставить("НомерСтроки", 0); СтруктураИтогов.Вставить("Вес", 0); СтруктураИтогов.Вставить("ЕстьСкидки", ЕстьСкидки); СтруктураИтогов.Вставить("СкидкаПоСтроке", 0); СтруктураИтогов.Вставить("СкидкаПоДокументу", 0); СтруктураИтогов.Вставить("ПредставлениеСкидки", ПредставлениеСкидки); СтруктураИтогов.Вставить("ЕстьСтавкаНольПроцентов", Ложь); ПараметрыНоменклатуры = Новый Структура; Для каждого СтрокаРаботыУслуги Из Шапка.ТаблицаРаботыУслуги Цикл ЗаполнитьДанныеПечатиПоСтрокеТабличнойЧастиЗаказПокупателя(СтрокаРаботыУслуги, ДанныеПечати, ПараметрыНоменклатуры, СтруктураИтогов); ОбластьМакета.Параметры.Заполнить(СтрокаРаботыУслуги); ОбластьМакета.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьМакета); // Наборы НаборыСервер.УчестьОформлениеСтрокиНабора(ТабличныйДокумент, ОбластьМакета, СтрокаРаботыУслуги); КонецЦикла; Для каждого СтрокаЗапасы Из Шапка.ТаблицаЗапасы Цикл Если СтрокаЗапасы.ЭтоРазделитель Тогда СтруктураИтогов.НомерСтроки = 0; ОбластьГруппаРазделитель.Параметры.Заполнить(СтрокаЗапасы); ДанныеПечати.Очистить(); ДанныеПечати.Вставить("Запас", СтрокаЗапасы.ПредставлениеНоменклатуры); ОбластьГруппаРазделитель.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьГруппаРазделитель); Продолжить; КонецЕсли; ЗаполнитьДанныеПечатиПоСтрокеТабличнойЧастиЗаказПокупателя(СтрокаЗапасы, ДанныеПечати, ПараметрыНоменклатуры, СтруктураИтогов); ОбластьМакета.Параметры.Заполнить(СтрокаЗапасы); ОбластьМакета.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьМакета); // Наборы НаборыСервер.УчестьОформлениеСтрокиНабора(ТабличныйДокумент, ОбластьМакета, СтрокаЗапасы); КонецЦикла; Для каждого СтрокаЗапасы Из Шапка.ТаблицаЗапасы Цикл Если СтрокаЗапасы.ЭтоРазделитель Тогда СтруктураИтогов.НомерСтроки = 0; ДанныеПечати.Очистить(); ДанныеПечати.Вставить("ШтрихКод", СтрокаЗапасы.ПредставлениеНоменклатуры); ОбластьГруппаРазделитель.Параметры.Заполнить(СтрокаЗапасы); ОбластьГруппаРазделитель.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьГруппаРазделитель); Продолжить; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод |ИЗ | РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры |ГДЕ | ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура | И ШтрихкодыНоменклатуры.Характеристика = &Характеристика"; Запрос.УстановитьПараметр("Номенклатура", СтрокаЗапасы.Номенклатура); Запрос.УстановитьПараметр("Характеристика", СтрокаЗапасы.Характеристика); РезультатЗапроса = Запрос.Выполнить();//.Выгрузить().ВыгрузитьКолонку("Штрихкод"); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СтрокаЗапасы.Номенклатура = ВыборкаДетальныеЗаписи.Штрихкод; СтрокаЗапасыХарактеристика = ВыборкаДетальныеЗаписи.Штрихкод; КонецЦикла; ЗаполнитьДанныеПечатиПоСтрокеТабличнойЧастиЗаказПокупателя(СтрокаЗапасы, ДанныеПечати, ПараметрыНоменклатуры, СтруктураИтогов); ОбластьМакета.Параметры.Заполнить(СтрокаЗапасы); ОбластьМакета.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьМакета); // Наборы НаборыСервер.УчестьОформлениеСтрокиНабора(ТабличныйДокумент, ОбластьМакета, СтрокаЗапасы); КонецЦикла; ДанныеПечати.Очистить(); ДанныеПечати.Вставить("Всего", ПечатьДокументовУНФ.ФорматСумм(СтруктураИтогов.Сумма)); ДанныеПечати.Вставить("НДС", ПечатьДокументовУНФ.ПредставлениеЗаголовкаНДС(СтруктураИтогов.СуммаНДС, Шапка.СуммаВключаетНДС, Ложь, СтруктураИтогов.ЕстьСтавкаНольПроцентов)); ДанныеПечати.Вставить("ВсегоНДС", ?(СтруктураИтогов.СуммаНДС = 0 И Не СтруктураИтогов.ЕстьСтавкаНольПроцентов, "-", ПечатьДокументовУНФ.ФорматСумм(СтруктураИтогов.СуммаНДС, , "0,00"))); ДанныеПечати.Вставить("ИтоговаяСтрока", ПечатьДокументовУНФ.ИтоговаяСтрока(СтруктураИтогов.Количество, СтруктураИтогов.Всего, Шапка.ВалютаДокумента)); ДанныеПечати.Вставить("СуммаПрописью", РаботаСКурсамиВалют.СформироватьСуммуПрописью(СтруктураИтогов.Всего, Шапка.ВалютаДокумента)); ДанныеПечати.Вставить("Отпустил", Шапка.Ответственный); ОбластьМакета = Макет.ПолучитьОбласть("Итого"); ОбластьМакета.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьМакета); Если СтруктураИтогов.ЕстьСкидки Тогда ОбластьМакета = ПечатьДокументовУНФ.ПолучитьОбластьБезопасно(Макет, "ИтогоСкидка", "", Ошибки); Если ОбластьМакета <> Неопределено Тогда ОбластьМакета.Параметры.Заполнить(СтруктураИтогов); ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецЕсли; ОбластьМакета = ПечатьДокументовУНФ.ПолучитьОбластьБезопасно(Макет, "ИтогоВес", "", Ошибки); Если ОбластьМакета <> Неопределено Тогда ОбластьМакета.Параметры.Вес = 0; Если СтруктураИтогов.Вес <> 0 Тогда ОбластьМакета.Параметры.Вес = СтруктураИтогов.Вес; ИначеЕсли Шапка.Вес <> 0 Тогда ОбластьМакета.Параметры.Вес = Шапка.Вес; КонецЕсли; Если ОбластьМакета.Параметры.Вес <> 0 Тогда ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); ОбластьМакета.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); ОбластьМакета.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Вывести(ОбластьМакета); УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка); КонецЦикла; КонецПроцедуры // СформироватьЗаказПокупателя() |
|||
16
Гипервизор
25.08.22
✎
11:17
|
(14) Исправить что? Отсутствие штрихкода в базе? Ввести штрихкод в базу. А вы знаете какой он должен быть?
|
|||
17
Kassern
25.08.22
✎
11:18
|
(14) Все функции->регистры сведений->Штрихкоды номенклатуры->Отбор по номенклатуре. Смотрите что и как там заполнено
|
|||
18
Гипервизор
25.08.22
✎
11:24
|
(17) Сейчас выяснится, что платформа свежая и "всех функций" нет. )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |