8.х Внешняя печатная форма "Акт на списание"

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем sunnypearl, 7 июл 2010.

  1. TopicStarter Overlay
    sunnypearl
    Offline

    sunnypearl Опытный в 1С

    Регистрация:
    22 окт 2009
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Ребята, помогайте!
    у меня две идентичные конфигурации БП 1.6 (1.6.24.7), есть внешняя печатная форма "Акт на списание" для требования-накладных, в одну из конфигураций пару месяцев назад подключила эту печатную форму, все успешно, работает. Сейчас пытаюсь подключить во вторую конфигурацию, 1с-ка ругается:
    " Не удалось сформировать внешнюю печатную форму!
    Поле объекта не обнаружено (ссылка)"

    выкладываю функцию
    Код:
    Функция Печать() Экспорт 
    Перем ТабДокумент, Макет, ОбластьМакета;
    
    Док = СсылкаНаОбъект;
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_мАктНаСписание";
    
    Макет = ПолучитьМакет("мАктНаСписание");
    //ТабДокумент
    
    Область = Макет.ПолучитьОбласть("Заголовок");
    Область.Параметры.Организация              = Док.Организация.ПолноеНаименование();
    Область.Параметры.НомерДата                = " № " + Строка(Док.Номер) + " от " + Формат( Док.Дата, "ДФ=dd.MM.yyyy") + " г. ";
    ТабДокумент.Вывести(Область);
    
    СтруктураПолей = Новый Структура;
    СтруктураПолей.Вставить("Материал",                 "Номенклатура");
    СтруктураПолей.Вставить("Количество",               "Количество");
    
    ТаблицаМатериалов = ОбщегоНазначения.СформироватьЗапросПоТабличнойЧасти(ЭтотОбъект, "Материалы", СтруктураПолей).Выгрузить();
    ТаблицаМатериалов.Свернуть("Материал" , "Количество");
    
    // Поиск сумм списания активов для заполнения Цены и Суммы
    ТаблицаСуммСписания = БухгалтерскийУчет.ПолучитьСуммуСписанияАктивов(ЭтотОБъект);
    НомерТекущий = 1;
    
    Для Каждого СтрокаТЧ Из ТаблицаМатериалов Цикл
    Область = Макет.ПолучитьОбласть("Строка");
    Область.Параметры.Номенклатура = СтрокаТЧ.Материал;
    Область.Параметры.Количество = СтрокаТЧ.Количество;
    Область.Параметры.НомерТекущий = НомерТекущий; 
    СтрокаСуммСписания =  ТаблицаСуммСписания.Найти(СтрокаТЧ.Материал, "Номенклатура");
    
    НомерТекущий = НомерТекущий + 1;
    
    Если СтрокаСуммСписания = Неопределено Тогда
    Область.Параметры.Цена = 0;
    Область.Параметры.Сумма = 0;
    Иначе
    Цена = ?(СтрокаСуммСписания.Количество = 0, 0, СтрокаСуммСписания.Сумма / СтрокаСуммСписания.Количество);
    Область.Параметры.Цена  = Цена;
    Область.Параметры.Сумма = Цена * СтрокаТЧ.Количество;
    КонецЕсли;
    ТабДокумент.Вывести(Область);
    
    КонецЦикла;
    
    ТаблицаМатериалов = ОбщегоНазначения.СформироватьЗапросПоТабличнойЧасти(ЭтотОбъект, "МатериалыЗаказчика", СтруктураПолей).Выгрузить();
    
    Для Каждого СтрокаТЧ Из ТаблицаМатериалов Цикл
    
    Область.Параметры.Заполнить(СтрокаТЧ);
    СтрокаСуммСписания =  ТаблицаСуммСписания.Найти(СтрокаТЧ.Материал, "Номенклатура");
    Если СтрокаСуммСписания = Неопределено Тогда
    Область.Параметры.Цена = 0;
    Область.Параметры.Сумма = 0;
    Иначе
    Цена = ?(СтрокаСуммСписания.Количество = 0, 0, СтрокаСуммСписания.Сумма / СтрокаСуммСписания.Количество);
    Область.Параметры.Цена  = Цена;
    Область.Параметры.Сумма = Цена * СтрокаТЧ.Количество;
    КонецЕсли;
    ТабДокумент.Вывести(Область);
    
    КонецЦикла;
    
    Область = Макет.ПолучитьОбласть("Подписи");
    
    ТабДокумент.Вывести(Область);
    
    ТабДокумент.ОтображатьСетку = Ложь;
    ТабДокумент.Защита = Ложь;
    ТабДокумент.ТолькоПросмотр = Ложь;
    ТабДокумент.ОтображатьЗаголовки = Ложь;
    ТабДокумент.Показать();
    КонецФункции
    
    
  2. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    У вас такого поля в коде нет. Попробуйте переподключить обработку еще раз.

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