цикл в печатной форме , цикл всегда ЛОЖЬ. конф Общепит 3.0.43.101 версия платформы 8.3.9.1850
21.03.17, 7:57
Молчаливый
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0
доброго времени суток. имеется конфигурация Общепит
пишу внешнюю печ.форму для документа Выпуск продукции ОП6
и тут затык - не могу понять, что сделал не так в цикле,
Код Ном = 0; Шапка = ВыборкаПеремещение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Шапка.Следующий() Цикл Ном = Ном + 1; ОбластьСтрока.Параметры.Ном = Ном; ОбластьСтрока.Параметры.Номенклатура = ВыборкаДетальныеЗаписи.Товар; ОбластьСтрока.Параметры.Код = ТоварКод; ОбластьСтрока.Параметры.Единица = ТоварЕдИзм; ОбластьСтрока.Параметры.КодЕдиницы = ТоварЕдИзмКод; ОбластьСтрока.Параметры.ИтогоОтпущено = Количество; ОбластьСтрока.Параметры.ЦенаУчетная = Цена; ОбластьСтрока.Параметры.СуммаУчетная = Сумма; ТабличныйДокумент.Вывести(ОбластьСтрока); КонецЦикла;
где Шапка.Следующий() всегда = ЛОЖЬ
подскажите, что делаю не так?
Вот весь код ВалютаПечати = Константы.ВалютаРегламентированногоУчета.Получить(); Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ОП6"); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.АвтоМасштаб = Истина; ТабличныйДокумент.ПолеСверху = 0; ТабличныйДокумент.ПолеСлева = 0; ТабличныйДокумент.ПолеСнизу = 0; ТабличныйДокумент.ПолеСправа = 0; ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ОП6"; СисИнфо = Новый СистемнаяИнформация; Если ПустаяСтрока(СисИнфо.ИнформацияПрограммыПросмотра) Тогда ТабличныйДокумент.ПолеСлева = 0; Иначе ТабличныйДокумент.ПолеСлева = 10; КонецЕсли; // Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект); // Запрос.УстановитьПараметр("ДатаДок", СсылкаНаОбъект.Дата); // Запрос.УстановитьПараметр("ДополнительнаяКолонкаПечатныхФормДокументов", Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить()); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОбщепитВыпускПродукции.Ссылка КАК ВыпускПродукции, | ПеремещениеТоваров.Ссылка КАК Перемещение, | ПеремещениеТоваров.СкладОтправитель, | ПеремещениеТоваров.СкладПолучатель |ПОМЕСТИТЬ втДокументы |ИЗ | Документ.ОбщепитВыпускПродукции КАК ОбщепитВыпускПродукции | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров | ПО ОбщепитВыпускПродукции.Ссылка = ПеремещениеТоваров.ДокументОснование |ГДЕ | ОбщепитВыпускПродукции.Ссылка В(&МассивОбъектов) | И ОбщепитВыпускПродукции.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ОбщепитВидыОперацийВыпускПродукции.ВыпускПродукции) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ОбщепитВыпускПродукции.Ссылка, | ОбщепитВыпускПродукции.Ссылка, | ОбщепитВыпускПродукции.Склад, | ОбщепитВыпускПродукции.СкладПолучатель |ИЗ | Документ.ОбщепитВыпускПродукции КАК ОбщепитВыпускПродукции |ГДЕ | ОбщепитВыпускПродукции.Ссылка В(&МассивОбъектов) | И ОбщепитВыпускПродукции.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ОбщепитВидыОперацийВыпускПродукции.ВыпускПродукцииСперемещением) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втДокументы.ВыпускПродукции, | втДокументы.Перемещение, | втДокументы.СкладПолучатель, | втДокументы.СкладОтправитель, | ХозрасчетныйОбороты.Субконто1.Код КАК ТоварКод, | ХозрасчетныйОбороты.Субконто1 КАК Товар, | ХозрасчетныйОбороты.Субконто1.ЕдиницаИзмерения КАК ТоварЕдИзм, | ХозрасчетныйОбороты.Субконто1.ЕдиницаИзмерения.Код КАК ТоварЕдИзмКод, | ХозрасчетныйОбороты.СуммаОборотДт КАК Сумма, | ХозрасчетныйОбороты.КоличествоОборотДт КАК Количество |ПОМЕСТИТЬ втРезультат |ИЗ | втДокументы КАК втДокументы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты( | &ДатаДок, | , | Запись, | Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ГотоваяПродукция)) | ИЛИ Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары)), | , | , | , | ) КАК ХозрасчетныйОбороты | ПО втДокументы.СкладПолучатель = ХозрасчетныйОбороты.Субконто2 | И втДокументы.Перемещение = ХозрасчетныйОбороты.Регистратор |ГДЕ | ХозрасчетныйОбороты.Регистратор В | (ВЫБРАТЬ | втДокументы.Перемещение | ИЗ | втДокументы КАК втДокументы) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втРезультат.Перемещение КАК Перемещение, | втРезультат.СкладПолучатель, | втРезультат.СкладОтправитель, | втРезультат.ТоварЕдИзм, | втРезультат.Товар, | втРезультат.ТоварЕдИзмКод, | втРезультат.ТоварКод, | втРезультат.Сумма, | втРезультат.Количество, | втРезультат.Сумма / втРезультат.Количество КАК Цена |ИЗ | втРезультат КАК втРезультат |ИТОГИ ПО | Перемещение"; Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект); Запрос.УстановитьПараметр("ДатаДок", СсылкаНаОбъект.Дата); РезультатЗапроса = Запрос.Выполнить(); ВыборкаПеремещение = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПеремещение.Следующий() Цикл Перемещение = ВыборкаПеремещение.Перемещение; ВыборкаДетальныеЗаписи = ВыборкаПеремещение.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СкладПолучатель = ВыборкаДетальныеЗаписи.СкладПолучатель; СкладОтправитель = ВыборкаДетальныеЗаписи.СкладОтправитель; ТоварЕдИзм = ВыборкаДетальныеЗаписи.ТоварЕдИзм; Товар = ВыборкаДетальныеЗаписи.Товар; ТоварЕдИзмКод = ВыборкаДетальныеЗаписи.ТоварЕдИзмКод; ТоварКод = ВыборкаДетальныеЗаписи.ТоварКод; Сумма = ВыборкаДетальныеЗаписи.Сумма; Количество = ВыборкаДетальныеЗаписи.Количество; Цена = ВыборкаДетальныеЗаписи.Цена; КонецЦикла; КонецЦикла; ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата); ОбластьЗаголовокТаблицы.Параметры.ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации); ОбластьЗаголовокТаблицы.Параметры.СкладОтправитель = СкладОтправитель; ОбластьЗаголовокТаблицы.Параметры.СкладПолучатель = СкладПолучатель; ОбластьЗаголовокТаблицы.Параметры.КодПоОКПО = СведенияОбОрганизации.КодПоОКПО; ОбластьЗаголовокТаблицы.Параметры.НомерДок = СсылкаНаОбъект.Номер; ОбластьЗаголовокТаблицы.Параметры.ДатаДок = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy"); ОбластьЗаголовокТаблицы.Параметры.Должность = "Руководитель службы питания"; ОбластьЗаголовокТаблицы.Параметры.Руководитель = "Мостовой Ю.А."; ОбластьЗаголовокТаблицы.Параметры.Бухгалтер = "Шайда Л.А."; ТабличныйДокумент.Вывести(ОбластьЗаголовокТаблицы); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); Ном = 0; Шапка = ВыборкаПеремещение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Шапка.Следующий() Цикл Ном = Ном + 1; ОбластьСтрока.Параметры.Ном = Ном; ОбластьСтрока.Параметры.Номенклатура = ВыборкаДетальныеЗаписи.Товар; ОбластьСтрока.Параметры.Код = ТоварКод; ОбластьСтрока.Параметры.Единица = ТоварЕдИзм; ОбластьСтрока.Параметры.КодЕдиницы = ТоварЕдИзмКод; ОбластьСтрока.Параметры.ИтогоОтпущено = Количество; ОбластьСтрока.Параметры.ЦенаУчетная = Цена; ОбластьСтрока.Параметры.СуммаУчетная = Сумма; ТабличныйДокумент.Вывести(ОбластьСтрока); КонецЦикла; Возврат ТабличныйДокумент;
! Правила : №9. Есть специальный тег для публикации кода.
Сообщение отредактировал Vofka - 21.03.17, 10:26
21.03.17, 9:28
Ветеран
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0
1. Пожалуйста, редактируйте ваши сообщения, листинг кода можно было выделить специальным тегом...
2. Раз вы получаете в этой строке
Цитата
Шапка.Следующий()=Ложь
всегда, это говорит о том, что либо неправильно составлен запрос, либо нет подходящих под условия данных. В данном случае думаю дело в параметре "МассивОбъектов", в запросе ожидается массив, а вы передаете ссылку, запихните её в массив и попробуйте ещё раз.
МассивСсылок = Новый Массив; МассивСсылок.Добавить(СсылкаНаОбъект); Запрос.УстановитьПараметр("МассивОбъектов", СсылкаНаОбъект);
и ещё не увидел где у вас вообще определяется переменная "СсылкаНаОбъект", проверьте в переменной значение есть или нет. По приведенному коду вижу что нет, разве что это реквизит объекта и он где-то на форме заполнен.
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Не нашли ответа на свой вопрос?
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!