Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Помочь с кодом.

↓ [Волшебник, 19.10.20 - 11:36]
Помочь с кодом.
Я
   undertale
 
19.10.20 - 10:48
Задание: Создать внешнюю обработку для получения данных в макете.
Я создал, написал код, но у меня вылазит ошибка. Я что-то уже свехнулся и не понимаю, что я должен еще дописать.  
Ошибка https://ibb.co/H7GF4Bk

Код:
https://ibb.co/pfLhFpY  
https://ibb.co/gwRLq1c

Процедура КнопкаВыполнитьНажатие(Кнопка)
ТабДок = ПолучитьСогласиеНаОбработкуПерсональныхДанных();
ТабДок.Показать();
КонецПроцедуры


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

    ТабДок.Вывести(Область);
    
    ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Портрет;
    ТабДок.АвтоМасштаб=Истина;
    ТабДок.ТолькоПросмотр=Истина;
    ТабДок.ОтображатьСетку=Ложь;
    
    Возврат ТабДок;
    
КонецФункции

Функция  ПолучитьАдресОрганизации(мОрганизация);
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КонтактнаяИнформация.Представление
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.Объект = &Объект
    |    И КонтактнаяИнформация.Вид = &Вид";
    
    Запрос.УстановитьПараметр("Вид",Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
    Запрос.УстановитьПараметр("Объект",Справочники.Организации.НаименованиеПолное);
    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Если РезультатЗапроса.Количество() <> 0 Тогда
        Для каждого элемент из РезультатЗапроса Цикл
            мОрганизацияАдрес = элемент.ОрганизацияАдрес;
        КонецЦикла;
    Иначе
        мОрганизацияАдрес = "";
    КонецЕсли;
    
    Возврат мОрганизацияАдрес;

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

я только новичок, не ругайтесь.
   undertale
 
1 - 19.10.20 - 10:50
Не ругайтесь сильно , если не правильно мысль донёс до вас.
Я только начинаю и многого еще не понимаю.
   Metman
 
2 - 19.10.20 - 10:54
В макете в поле "Область" есть параметр "АдресОрганизации? Может поле называется "Шапка"?
   Metman
 
3 - 19.10.20 - 10:54
Скрин макета сделай
   undertale
 
4 - 19.10.20 - 11:02
   undertale
 
5 - 19.10.20 - 11:06
(2) Я если что поменял "АдресОрганизации" на "ОрганизацияАдрес"
   undertale
 
6 - 19.10.20 - 11:10
Теперь вот такая ошибка уже https://ibb.co/BLdH1jH
Пипец, я совсем запутался...
   Волшебник
 
7 - 19.10.20 - 11:11
Выборка = РезультатЗапроса.Выбрать()

Пока Выборка.Следующий Цикл
...
   Доминошник
 
8 - 19.10.20 - 12:11
(6)  мОрганизацияАдрес = элемент.КонтактнаяИнформация;
   Borometr
 
9 - 19.10.20 - 12:51
(6) в конструкторе запроса на закладке Объединения/Псевдонимы посмотри имя поля, его и впиши вместо ОрганизацияАдрес
   undertale
 
10 - 20.10.20 - 07:51
В итоге, я просто нечаянно удалил в запросе 
 КонтактнаяИнформация.Представление КАК КонтактнаяИнформация 
Сорян, всё работает)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.