Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:09

Ошибка при печати внешней формы "Поле объекта не обнаружено"

Автор Denis Chubov, 16 янв 2018, 21:49

0 Пользователей и 1 гость просматривают эту тему.

Denis Chubov

Пытаюсь создать внешнюю печатную форму для одного документа.Однако при попытке печати в режиме предприятия выдаёт ошибку " Поле объекта не обнаружено (НомерСтроки)
ОбластьСтрокаТЧ.Параметры.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки;".



...
Запрос.Текст =
                "ВЫБРАТЬ
        |   СчетНаОплатуПокупателю.Организация,
        |   СчетНаОплатуПокупателю.Ссылка,
        |   СчетНаОплатуПокупателю.Контрагент,
        |   СчетНаОплатуПокупателю.ДоговорКонтрагента.СрокОплаты,
        |   СчетНаОплатуПокупателю.ДоговорКонтрагента.АдресОператораПеревода,
        |   СчетНаОплатуПокупателю.Товары.(
        |       Номенклатура.Наименование,
        |       Номенклатура.ЕдиницаИзмерения,
        |       Номенклатура.СтавкаНДС,
        |       Цена,
        |       Количество,
        |       СуммаНДС,
        |       НомерСтроки
        |   )
        |ИЗ
        |   Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
        |Где 
            |   СчетНаОплатуПокупателю.Ссылка = (&ТекущийДокумент)";

РезультатЗапроса = Запрос.Выполнить();
   
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

                        ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
            ОбластьСтрокаТЧ.Параметры.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки;
                        ТабДокумент.Вывести(ОбластьСтрокаТЧ);

КонецЦикла;



Luzer1C

Так и должно быть. Потому что "ВыборкаДетальныеЗаписи" не содержит поле "НомерСтроки".
Нужно вот так хотя бы:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    ВыборкаТабТЧ = ВыборкаДетальныеЗаписи.Товары.Выгрузить();
                       
КонецЦикла;

Для каждого СтрТЧ ИЗ ВыборкаТабТЧ Цикл
    ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
    ОбластьСтрокаТЧ.Параметры.НомерСтроки = СтрТЧ.НомерСтроки;
    ТабДокумент.Вывести(ОбластьСтрокаТЧ);
КонецЦикла;

В написании кода для печатных форм такой запрос стряпать не рекомендуется. Нужно отдельно делать запрос к шапке документа и отдельный запрос к табличной части.
Халамбалам.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск