Имя: Пароль:
1C
 
Вывести АдресМестаПроживанияФизическиеЛица
0 lexhrqg744
 
17.08.22
15:05
Здравствуйте, помогите вывести адрес проживания сотрудника. Пробовал разными способами, но не получается. Буд благодарен за помощь.

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



    ДанныеДляПечати = Запрос.ВыполнитьПакет();

    Шапка = ДанныеДляПечати[0].Выгрузить();
    //Товары = ДанныеДляПечати[1].Выгрузить();
    
    ДанныеШапка = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Шапка[0]);  
    ДанныеШапка["Номер"] = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеШапка["Номер"]);
    ДанныеШапка["Дата"] = Формат(ДанныеШапка["Дата"], "ДФ=dd.MM.yyyy");
    ДанныеШапка["Сотрудник"] = (ДанныеШапка["Сотрудник"]);
    ДанныеШапка["Подразделение"] = СЭ_УправлениеПечатьюСервер.СЭ_ПолучитьСклонение(ДанныеШапка["Подразделение"],"ПД=Родительный");
    ДанныеШапка["ДолжностьСот"] = (ДанныеШапка["ДолжностьСот"]);
    ДанныеШапка["СотИн"] = СЭ_УправлениеПечатьюСервер.СЭ_ФамилияИнициалы(ДанныеШапка["СотИн"]);
    ДанныеШапка["СотИнА"] = ФизическиеЛицаКлиентСервер.ФамилияИнициалы(ДанныеШапка["СотИнА"]);
    ДанныеШапка["Работа"] = НРег(ДанныеШапка["Работа"]);

ДанныеОбъекта         = Новый Структура;

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


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

    // Вывод подвала
    Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбластей["Адрес"]);
    УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеШапка);

    // Помещаем сформированную печатную форму в соответствие ОфисныеДокументы
    АдресХранилищаПечатнойФормы = УправлениеПечатью.СформироватьДокумент(ПечатнаяФорма);
    
    //удаление временных файлов
    УправлениеПечатью.ОчиститьСсылки(ПечатнаяФорма);    
    УправлениеПечатью.ОчиститьСсылки(Макет);

    Возврат АдресХранилищаПечатнойФормы;
    
КонецФункции
1 mikecool
 
17.08.22
15:18
иди в отладку и смотри - что и куда у тебя вставляется
Закон Брукера: Даже маленькая практика стоит большой теории.