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

Создние ВПФ: Переменная не определена (ОтпускРазрешил)

Автор RomanSKV, 13 мая 2015, 11:17

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

RomanSKV

Конфигурация: Комплексная автоматизация, редакция 1.1 + CRM, редакция 1.4 (1.1.59/1.4.10)

Создаю внешнюю печатную форму "АктНаОказаниеУслуг" из встроенной. Тема заезженная и в интернете технология создания таких ВПФ уже описана, и довольно подробно.
Создал внешнюю обработку, в ней добавил реквизит "СсылкаНаОбъект" нужного типа... И так далее по инструкции.
Но в конце концов всё равно вылезает насущная ошибка :(:
Переменная не определена (ОтпускРазрешил)
И
Переменная не определена (ЗаРуководителяПоПриказу)

Ниже сокращенный текст. Жирным выделяю место с ошибкой:

Перем мВалютаРегламентированногоУчета Экспорт;

Функция Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
      Если ИмяМакета = "Акт" Тогда
      ТабДокумент = ПечатьАктаОбОказанииУслуг(Ложь);
        Возврат ТабДокумент;
     КонецЕсли
   КонецФункции

Функция ПечатьАктаОбОказанииУслуг(СуммыВРублях = Ложь)
   
   ЗапросШапка = Новый Запрос;
   ЗапросШапка.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
   ЗапросШапка.Текст =
***********************
   
   ТабДокумент.Вывести(ОбластьМакета);

   ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
   Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Организация, Дата);
   Если Руководители.РуководительДолжность = "" Тогда
      ДолжностьИНазваниеОрганизации = Организация.НаименованиеПолное;
   Иначе
      ДолжностьРук = Руководители.РуководительДолжность;
      ДолжностьИНазваниеОрганизации = ?(НЕ ЗначениеЗаполнено(ДолжностьРук), Организация.НаименованиеПолное, ДолжностьРук + " " + Организация.НаименованиеПолное);
   КонецЕсли;
   
   Если ЗначениеЗаполнено(ОтпускРазрешил) И ОтпускРазрешил <> Руководители.Руководитель Тогда
      ЗаместительПоПриказу = "("+ОбщегоНазначения.ФамилияИнициалыФизЛица(ОтпускРазрешил) + " " + ЗаРуководителяПоПриказу+")";
   Иначе
      ЗаместительПоПриказу = Руководители.Руководитель;
   КонецЕсли;
   
   ОбластьМакета.Параметры.ДолжностьИНазваниеОрганизации    = ДолжностьИНазваниеОрганизации;
   ОбластьМакета.Параметры.ЗаместительПоПриказу          = ЗаместительПоПриказу;
   ТабДокумент.Вывести(ОбластьМакета);

   Возврат ТабДокумент;
   
КонецФункции // ПечатьАктаОбОказанииУслуг()

мВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");

:dfbsdfbsdf:
Подскажите, пожалуйста, где и как правильно определить эти переменные.

cska-fanat-kz

ну может что нить вроде
"Док.ОтпускРазрешил" или "Шапка.ОтпускРазрешил"?
Правильно ругается, у обработки (читай "у ВПФ") таких реквизитов нет.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

RomanSKV

Цитата: cska-fanat-kz от 13 мая 2015, 11:21
ну может что нить вроде
"Док.ОтпускРазрешил" или "Шапка.ОтпускРазрешил"?
Правильно ругается, у обработки (читай "у ВПФ") таких реквизитов нет.

Спасибо за ответ.
Пытался подставлять "СсылкаНаОбъект.ОтпускРазрешил" и "Подписи.ОтпускРазрешил", где "Подписи" - область макета.
В первом случае возникают новые ошибки о том, что не определены "Организация" и "Дата"
Во втором - не определена переменная "Подписи"

cska-fanat-kz

вы зря пропустили текст после
"ЗапросШапка = Новый Запрос;
   ЗапросШапка.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
   ЗапросШапка.Текст ="

тут идет запрос к шапке вашего документа.
вангую: далее встретите текст типа
    ЧтоТо = ЗапросШапка.Выполнить().Выбрать();
    ЧтоТо.Следующий()

Соответственно все реквизиты шапки документа надо использовать в виде
    ЧтоТо.РеквизитШапки

Вариант "СсылкаНаОбъект." также рабочий, но лучше так не делать )

Само собой исправили обращение к одним реквизитам, начали выходить ошибки про другие.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск