Имя: Пароль:
1C
1С v8
УТ 11 Как из РТУ получить адрес контрагента?
0 breezee
 
13.10.15
20:25
Сегодня уже создавал такую же тему, посоветовали использовать процедурузаполнения торг-12, весь запрос из процедуры обшарил - нашел адреса контрагента. Откуда его вообще брать?
1 jsmith82
 
13.10.15
20:26
Школота..
2 breezee
 
13.10.15
20:27
(0) Не нашел*
3 breezee
 
13.10.15
20:28
(1) Я не регистров с контактной информацией не нашел и не понял куда она в справочнике записывается
4 jsmith82
 
13.10.15
20:28
Ссылка.Контрагент.КонтактнаяИнформация.НайтиСтроки(Новый Структура("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента))[0];
5 jsmith82
 
13.10.15
20:28
Это если одной строкой
6 breezee
 
13.10.15
20:29
(4) Спасибо большое. Сейчас попробую
7 jsmith82
 
13.10.15
20:33
Адрес = "";
Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Контрагент", Ссылка.Контрагент);
Запрос.УстановитьПараметр("Вид", Вид);
Запрос.Текст =
"ВЫБРАТЬ
|    Таб.Представление КАК Адрес
|ИЗ
|    Справочник.Контрагенты.КонтактнаяИнформация КАК Таб
|ГДЕ
|    Таб.Ссылка = &Контрагент
|    И Таб.Вид = &Вид";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
    Адрес = Выборка.Адрес;
КонецЕсли;
8 breezee
 
13.10.15
21:22
Можете еще подсказать, пожалуйста. Пишет "ПечатнаяФорма Недоступна", все команды для неё брал из гугла, мой макет называется "Макет1"
Ниже весь код формы
#Область Регистрация
// Стандартные Функции и Методы для  регистрации внешней печатной формы +

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); //Указываем документ к которому делаем внешнюю печ. форму
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...    
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату (шаблон)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
    ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
    ПараметрыРегистрации.Вставить("Версия", "1.0");    
    ПараметрыРегистрации.Вставить("Информация", "Эту ВПФ мы сделали для того что бы посмотреть возможности БСП    ");  
    ТаблицаКоманд = Получить Таблицу Команд();
    ДобавитьКоманду(ТаблицаКоманд, "Счет на оплату (шаблон)", "Макет1", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

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

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;  
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
    
КонецПроцедуры
#КонецОбласти

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет1", "Счет на оплату (шаблон)", ПечатьФормы(МассивОбъектов));
    
КонецПроцедуры

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

Функция ВАдресКон(Кон)
    Адрес = "";
    Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
    Запрос = Новый Запрос();
    Запрос.УстановитьПараметр("Контрагент", Кон);
    Запрос.УстановитьПараметр("Вид", Вид);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Таб.Представление КАК Адрес
    |ИЗ
    |    Справочник.Контрагенты.КонтактнаяИнформация КАК Таб
    |ГДЕ
    |    Таб.Ссылка = &Контрагент
    |    И Таб.Вид = &Вид";
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Адрес = Выборка.Адрес;
    КонецЕсли;
    Возврат Адрес;
КонецФункции
9 breezee
 
13.10.15
21:35
Может у кого есть пример? Без заполнения ТабДока, просто заполненная стандартная хрень для внешней печатной формы для УТ11?
10 Поpyчик-4
 
13.10.15
22:38
(9) Есть. 1000 рублей.