Как подтянуть номер телефона менеджера во ВПФ счетана оплату?

1. VID1234 110 21.01.20 16:45 Сейчас в теме
Здравствуйте. Подскажите пожалуйста есть такой код
Область = Макет.ПолучитьОбласть("ОбластьФаксимиле");
	ФормированиеПечатныхФорм.ВывестиЛоготипВТабличныйДокумент(Макет, ОбластьМакета, "ОбластьФаксимиле", ДанныеПечати.Организация);
	Область.Параметры.ФИОМенеджер = ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер;
	ТабличныйДокумент.Вывести(Область);

Менеджер выводится, при чем тот который закреплен за этим контрагентом, но как бы прикрепить бы еще №телефона и адрес электронной почты, ну или что нибудь одно, я так понимаю запросом с контактной информации, но как это сделать знаний у меня нет. Поэтому если реально кто то может помочь, то прошу напишите подробнее, хотя бы примерно. Спасибо. Всем хорошего времени суток.
Найденные решения
3. vadim.semyonov.rzn 21.01.20 17:46 Сейчас в теме
(1) Можно получить контактную информацию, вызвав вот такую функцию с параметром, в данном контексте, ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер;
&НаСервере
Функция ПолучитьКонтактыМенеджера(МенеджерПользователь)
	КонтактнаяИнформацияМенеджера = Новый Структура("Телефон,АдресЭлПочты");
	СтрокаТелефон = "";
	СтрокаЭлПочта = "";
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Пользователи.Ссылка КАК Ссылка,
		|	ПользователиКонтактнаяИнформация.НомерТелефона КАК НомерТелефона,
		|	NULL КАК АдресЭП
		|ИЗ
		|	Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
		|		ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
		|ГДЕ
		|	Пользователи.Ссылка = &МенеджерПользователь
		|	И НЕ ПользователиКонтактнаяИнформация.НомерТелефона = """"
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	Пользователи.Ссылка,
		|	NULL,
		|	ПользователиКонтактнаяИнформация.АдресЭП
		|ИЗ
		|	Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
		|		ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
		|ГДЕ
		|	Пользователи.Ссылка = &МенеджерПользователь
		|	И НЕ ПользователиКонтактнаяИнформация.АдресЭП = """"";
	
	Запрос.УстановитьПараметр("МенеджерПользователь", МенеджерПользователь);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.НомерТелефона) Тогда
			СтрокаТелефон = СтрокаТелефон + ВыборкаДетальныеЗаписи.НомерТелефона + ", ";
		КонецЕсли;
		Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.АдресЭП) Тогда
			СтрокаЭлПочта = СтрокаЭлПочта + ВыборкаДетальныеЗаписи.АдресЭП + ", ";
		КонецЕсли;
	КонецЦикла;
	ДлинаТелефон = СтрДлина(СтрокаТелефон);
	ДлинаЭлПочта = СтрДлина(СтрокаЭлПочта);
	Если ДлинаТелефон > 2 Тогда
		СтрокаТелефон = Лев(СтрокаТелефон, ДлинаТелефон-2);
	КонецЕсли;
	Если ДлинаЭлПочта > 2 Тогда
		СтрокаЭлПочта = Лев(СтрокаЭлПочта, ДлинаЭлПочта-2);
	КонецЕсли;
	КонтактнаяИнформацияМенеджера.Телефон = СтрокаТелефон;
	КонтактнаяИнформацияМенеджера.АдресЭлПочты = СтрокаЭлПочта;
	Возврат КонтактнаяИнформацияМенеджера;
КонецФункции
Показать

Вернется структура из двух строковых элементов - КонтактнаяИнформацияМенеджера.Телефон и КонтактнаяИнформацияМенеджера.АдресЭлПочты. Ну а дальше уже присвоить их параметром макета...
8. Nikifforoff96 22.01.20 09:44 Сейчас в теме
(6) Размещаешь где-нибудь в модуле (там же, где и заполняешь параметры областей макета) ту функцию, что тебе написали выше, чтобы потом к ней обращаться.

Для заполнения параметров пишешь:

КонтактнаяИнформацияМенеджера = ПолучитьКонтактыМенеджера(ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер);
Область.Параметры.КонтактМенеджерТелефон = КонтактнаяИнформацияМенеджера.Телефон;
Область.Параметры.КонтактМенеджерЭлАдрес = КонтактнаяИнформацияМенеджера.АдресЭлПочты;


только имена параметров вместо "КонтактМенеджерТелефон" и "КонтактМенеджерЭлАдрес" поставь свои
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. vadim.semyonov.rzn 21.01.20 17:46 Сейчас в теме
(1) Можно получить контактную информацию, вызвав вот такую функцию с параметром, в данном контексте, ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер;
&НаСервере
Функция ПолучитьКонтактыМенеджера(МенеджерПользователь)
	КонтактнаяИнформацияМенеджера = Новый Структура("Телефон,АдресЭлПочты");
	СтрокаТелефон = "";
	СтрокаЭлПочта = "";
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Пользователи.Ссылка КАК Ссылка,
		|	ПользователиКонтактнаяИнформация.НомерТелефона КАК НомерТелефона,
		|	NULL КАК АдресЭП
		|ИЗ
		|	Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
		|		ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
		|ГДЕ
		|	Пользователи.Ссылка = &МенеджерПользователь
		|	И НЕ ПользователиКонтактнаяИнформация.НомерТелефона = """"
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	Пользователи.Ссылка,
		|	NULL,
		|	ПользователиКонтактнаяИнформация.АдресЭП
		|ИЗ
		|	Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
		|		ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
		|ГДЕ
		|	Пользователи.Ссылка = &МенеджерПользователь
		|	И НЕ ПользователиКонтактнаяИнформация.АдресЭП = """"";
	
	Запрос.УстановитьПараметр("МенеджерПользователь", МенеджерПользователь);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.НомерТелефона) Тогда
			СтрокаТелефон = СтрокаТелефон + ВыборкаДетальныеЗаписи.НомерТелефона + ", ";
		КонецЕсли;
		Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.АдресЭП) Тогда
			СтрокаЭлПочта = СтрокаЭлПочта + ВыборкаДетальныеЗаписи.АдресЭП + ", ";
		КонецЕсли;
	КонецЦикла;
	ДлинаТелефон = СтрДлина(СтрокаТелефон);
	ДлинаЭлПочта = СтрДлина(СтрокаЭлПочта);
	Если ДлинаТелефон > 2 Тогда
		СтрокаТелефон = Лев(СтрокаТелефон, ДлинаТелефон-2);
	КонецЕсли;
	Если ДлинаЭлПочта > 2 Тогда
		СтрокаЭлПочта = Лев(СтрокаЭлПочта, ДлинаЭлПочта-2);
	КонецЕсли;
	КонтактнаяИнформацияМенеджера.Телефон = СтрокаТелефон;
	КонтактнаяИнформацияМенеджера.АдресЭлПочты = СтрокаЭлПочта;
	Возврат КонтактнаяИнформацияМенеджера;
КонецФункции
Показать

Вернется структура из двух строковых элементов - КонтактнаяИнформацияМенеджера.Телефон и КонтактнаяИнформацияМенеджера.АдресЭлПочты. Ну а дальше уже присвоить их параметром макета...
4. VID1234 110 22.01.20 09:19 Сейчас в теме
(3) А как присвоить, у меня с получением данных от запросов проблемы! Я не умею и пока не представляю как, примерно хотя бы помогите, а там методом тыка я доделаю
5. Nikifforoff96 22.01.20 09:27 Сейчас в теме
(4) От каких запросов? Тебе человек дал готовую функцию, которая тебе вернёт телефон и электронный адрес. Всё получение и обработку данных из результата запроса за тебя написали.
А ниже человек тебе показал функцию из БСП, там тоже тебе с запросами работать не нужно, какие проблемы?
6. VID1234 110 22.01.20 09:30 Сейчас в теме
(5) Проблема в том, что теперь мне с этого запроса подтянуть эту контактную информацию, а как вот в этом и проблема.
Область.Параметры.КонтактМенеджер = ДанныеПечати.КонтактнаяИнформацияМенеджера;
или как? Если бы я знал, то не спрашивал.
8. Nikifforoff96 22.01.20 09:44 Сейчас в теме
(6) Размещаешь где-нибудь в модуле (там же, где и заполняешь параметры областей макета) ту функцию, что тебе написали выше, чтобы потом к ней обращаться.

Для заполнения параметров пишешь:

КонтактнаяИнформацияМенеджера = ПолучитьКонтактыМенеджера(ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер);
Область.Параметры.КонтактМенеджерТелефон = КонтактнаяИнформацияМенеджера.Телефон;
Область.Параметры.КонтактМенеджерЭлАдрес = КонтактнаяИнформацияМенеджера.АдресЭлПочты;


только имена параметров вместо "КонтактМенеджерТелефон" и "КонтактМенеджерЭлАдрес" поставь свои
9. VID1234 110 22.01.20 10:21 Сейчас в теме
(8)
КонтактнаяИнформацияМенеджера = ПолучитьКонтактыМенеджера(ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер);
Область.Параметры.КонтактМенеджерТелефон = КонтактнаяИнформацияМенеджера.Телефон;
Область.Параметры.КонтактМенеджерЭлАдрес = КонтактнаяИнформацияМенеджера.АдресЭлПочты;

Спасибо ребята!
7. VID1234 110 22.01.20 09:40 Сейчас в теме
(5) Область.Параметры.КонтактМенеджер = Выборка.КонтактнаяИнформацияМенеджера; Или так, но ошибка
{ВнешняяОбработка.СчетНаОплатуВнешний.МодульОбъекта(2918,55)}: Переменная не определена (Выборка)
Область.Параметры.КонтактнаяИнформацияМенеджера = <<?>>Выборка.КонтактнаяИнформацияМенеджера; (Проверка: Сервер)
10. VID1234 110 22.01.20 10:22 Сейчас в теме
(3) Спасибо, все получилось!
2. user774630 21.01.20 16:55 Сейчас в теме
У меня нет УТ, но это стандартный функционал БСП. Возможно, поможет.
Посмотрите функцию:
УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта();

первый параметр - ваш менеджер, второй параметр - можете найти по наименованию требуемый вид контактной информации.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот