8.х БП Не удалось сформировать внешнюю печатную форму!

Тема в разделе ""1С:Бухгалтерия БП"", создана пользователем Lelik2010, 23 окт 2012.

  1. TopicStarter Overlay
    Lelik2010
    Offline

    Lelik2010

    Регистрация:
    26 июл 2012
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Делаю внешн. печатную форму. В конфигураторе ошибок не выдает, а вот когда запускаю в БП.
    Ошибка:
    Не удалось сформировать внешнюю печатную форму!
    Значение не является значением объектного типа (Наименование)

    В ПФ есть форма, где вибирается 2 ФизЛица отпустившего и получившего.

    Перем м_Отпустил Экспорт
    Перем м_Получил Экспорт

    ошибка где-то здесь

    ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьМакетаПодвал.Параметры.Отпустил = м_Отпустил.Наименование;
    ОбластьМакетаПодвал.Параметры.Получил = м_Получил.Наименование;
    ТабДокумент.Вывести(ОбластьМакетаПодвал);
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    какой тип у переменных? что в них попадает? по тому куску кода, что вы привели - не понятно
  3. TopicStarter Overlay
    Lelik2010
    Offline

    Lelik2010

    Регистрация:
    26 июл 2012
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Перем м_Получил Экспорт;
    Перем м_Отпустил Экспорт;

    Функция Печать() Экспорт

    Форма = ЭтотОбъект.ПолучитьФорму("Форма");
    ТабДокумент = ПечатьМ11();
    Возврат ТабДокумент;
    КонецФункции
    Функция ПечатьМ11()

    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТребованиеНакладная_М11";
    Макет = ПолучитьМакет("М11");
    Область = Макет.ПолучитьОбласть("Шапка");
    Область.Параметры.Заголовок = "ТРЕБОВАНИЕ-НАКЛАДНАЯ № " + Строка(СсылкаНаОбъект.Номер);
    Область.Параметры.КодОКПО = СсылкаНаОбъект.Организация.КодПоОКПО;
    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Организация,СсылкаНаОбъект.Дата);
    ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
    Область.Параметры.ПредставлениеОрганизации = ПредставлениеОрганизации;
    Область.Параметры.ДатаСоставления = Формат( СсылкаНаОбъект.Дата, "ДФ=dd.MM.yy");
    Область.Параметры.Склад = СсылкаНаОбъект.Склад;
    Область.Параметры.КоррСчет = СсылкаНаОбъект.СчетЗатрат.Код;
    Область.Параметры.ПредставлениеПодразделения = СсылкаНаОбъект.ПодразделениеЗатрат.Наименование;
    ТабДокумент.Вывести(Область);
    СтруктураПолей = Новый Структура;
    СтруктураПолей.Вставить("Счет", "Счет");
    СтруктураПолей.Вставить("Материал", "Номенклатура");
    СтруктураПолей.Вставить("МатериалНаименование", "Номенклатура.НаименованиеПолное");

    Если Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить() = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
    СтруктураПолей.Вставить("НоменклатурныйНомер", "Номенклатура.Артикул");
    Иначе
    СтруктураПолей.Вставить("НоменклатурныйНомер", "Номенклатура.Код");
    КонецЕсли;

    СтруктураПолей.Вставить("ЕдиницаИзмеренияНаименование", "Номенклатура.БазоваяЕдиницаИзмерения");
    СтруктураПолей.Вставить("ЕдиницаИзмеренияКод", "Номенклатура.БазоваяЕдиницаИзмерения.Код");
    СтруктураПолей.Вставить("Количество", "Количество");

    Область = Макет.ПолучитьОбласть("Строка");

    ТаблицаМатериалов = ОбщегоНазначения.СформироватьЗапросПоТабличнойЧасти(СсылкаНаОбъект, "Материалы", СтруктураПолей).Выгрузить();
    ТаблицаМатериалов.Свернуть("Материал, МатериалНаименование, Счет, НоменклатурныйНомер,ЕдиницаИзмеренияКод,ЕдиницаИзмеренияНаименование", "Количество");
    // Поиск сумм списания активов для заполнения Цены и Суммы
    ТаблицаСуммСписания = БухгалтерскийУчет.ПолучитьСуммуСписанияАктивов(СсылкаНаОбъект);

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

    ТаблицаМатериалов = ОбщегоНазначения.СформироватьЗапросПоТабличнойЧасти(СсылкаНаОбъект, "МатериалыЗаказчика", СтруктураПолей).Выгрузить();
    Для Каждого СтрокаТЧ Из ТаблицаМатериалов Цикл
    Область.Параметры.Заполнить(СтрокаТЧ);
    СтрокаСуммСписания = ТаблицаСуммСписания.Найти(СтрокаТЧ.Материал, "Номенклатура");
    Если СтрокаСуммСписания = Неопределено Тогда
    Область.Параметры.Цена = 0;
    Область.Параметры.Сумма = 0;
    Иначе
    Цена = ?(СтрокаСуммСписания.Количество = 0, 0, СтрокаСуммСписания.Сумма / СтрокаСуммСписания.Количество);
    Область.Параметры.Цена = Цена;
    Область.Параметры.Сумма = Цена * СтрокаТЧ.Количество;
    КонецЕсли;
    ТабДокумент.Вывести(Область);
    КонецЦикла;

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

    КонецФункции

    Тип переменных СправочникСсылка.ФизическиеЛица, в переменную должны попадать ФамилияИО
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    повторю вопрос: какой тип у переменных, откуда вы их берете вообще. в приведенном коде вы к ним сразу обращаетесь, не присваивая ничего (или я не вижу, где им присваивается конкретное значение)
  5. Suliko
    Offline

    Suliko

    Регистрация:
    30 окт 2012
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Если у Вас не задано значение переменных, то не будет определено и значение "Наименование" или структура переменных должна содержать "Наименование", если они имеют значение отличное от Неопределено

Поделиться этой страницей