Как подтянуть номер телефона менеджера во ВПФ счетана оплату?
Здравствуйте. Подскажите пожалуйста есть такой код
Менеджер выводится, при чем тот который закреплен за этим контрагентом, но как бы прикрепить бы еще №телефона и адрес электронной почты, ну или что нибудь одно, я так понимаю запросом с контактной информации, но как это сделать знаний у меня нет. Поэтому если реально кто то может помочь, то прошу напишите подробнее, хотя бы примерно. Спасибо. Всем хорошего времени суток.
Область = Макет.ПолучитьОбласть("ОбластьФаксимиле");
ФормированиеПечатныхФорм.ВывестиЛоготипВТабличныйДокумент(Макет, ОбластьМакета, "ОбластьФаксимиле", ДанныеПечати.Организация);
Область.Параметры.ФИОМенеджер = ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер;
ТабличныйДокумент.Вывести(Область);
Менеджер выводится, при чем тот который закреплен за этим контрагентом, но как бы прикрепить бы еще №телефона и адрес электронной почты, ну или что нибудь одно, я так понимаю запросом с контактной информации, но как это сделать знаний у меня нет. Поэтому если реально кто то может помочь, то прошу напишите подробнее, хотя бы примерно. Спасибо. Всем хорошего времени суток.
Найденные решения
(1) Можно получить контактную информацию, вызвав вот такую функцию с параметром, в данном контексте, ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер;
Вернется структура из двух строковых элементов - КонтактнаяИнформацияМенеджера.Телефон и КонтактнаяИнформацияМенеджера.АдресЭлПочты. Ну а дальше уже присвоить их параметром макета...
&НаСервере
Функция ПолучитьКонтактыМенеджера(МенеджерПользователь)
КонтактнаяИнформацияМенеджера = Новый Структура("Телефон,АдресЭлПочты");
СтрокаТелефон = "";
СтрокаЭлПочта = "";
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка КАК Ссылка,
| ПользователиКонтактнаяИнформация.НомерТелефона КАК НомерТелефона,
| NULL КАК АдресЭП
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
| ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
|ГДЕ
| Пользователи.Ссылка = &МенеджерПользователь
| И НЕ ПользователиКонтактнаяИнформация.НомерТелефона = """"
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Пользователи.Ссылка,
| NULL,
| ПользователиКонтактнаяИнформация.АдресЭП
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
| ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
|ГДЕ
| Пользователи.Ссылка = &МенеджерПользователь
| И НЕ ПользователиКонтактнаяИнформация.АдресЭП = """"";
Запрос.УстановитьПараметр("МенеджерПользователь", МенеджерПользователь);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.НомерТелефона) Тогда
СтрокаТелефон = СтрокаТелефон + ВыборкаДетальныеЗаписи.НомерТелефона + ", ";
КонецЕсли;
Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.АдресЭП) Тогда
СтрокаЭлПочта = СтрокаЭлПочта + ВыборкаДетальныеЗаписи.АдресЭП + ", ";
КонецЕсли;
КонецЦикла;
ДлинаТелефон = СтрДлина(СтрокаТелефон);
ДлинаЭлПочта = СтрДлина(СтрокаЭлПочта);
Если ДлинаТелефон > 2 Тогда
СтрокаТелефон = Лев(СтрокаТелефон, ДлинаТелефон-2);
КонецЕсли;
Если ДлинаЭлПочта > 2 Тогда
СтрокаЭлПочта = Лев(СтрокаЭлПочта, ДлинаЭлПочта-2);
КонецЕсли;
КонтактнаяИнформацияМенеджера.Телефон = СтрокаТелефон;
КонтактнаяИнформацияМенеджера.АдресЭлПочты = СтрокаЭлПочта;
Возврат КонтактнаяИнформацияМенеджера;
КонецФункции
ПоказатьВернется структура из двух строковых элементов - КонтактнаяИнформацияМенеджера.Телефон и КонтактнаяИнформацияМенеджера.АдресЭлПочты. Ну а дальше уже присвоить их параметром макета...
(6) Размещаешь где-нибудь в модуле (там же, где и заполняешь параметры областей макета) ту функцию, что тебе написали выше, чтобы потом к ней обращаться.
Для заполнения параметров пишешь:
только имена параметров вместо "КонтактМенеджерТелефон" и "КонтактМенеджерЭлАдрес" поставь свои
Для заполнения параметров пишешь:
КонтактнаяИнформацияМенеджера = ПолучитьКонтактыМенеджера(ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер);
Область.Параметры.КонтактМенеджерТелефон = КонтактнаяИнформацияМенеджера.Телефон;
Область.Параметры.КонтактМенеджерЭлАдрес = КонтактнаяИнформацияМенеджера.АдресЭлПочты;
только имена параметров вместо "КонтактМенеджерТелефон" и "КонтактМенеджерЭлАдрес" поставь свои
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Можно получить контактную информацию, вызвав вот такую функцию с параметром, в данном контексте, ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер;
Вернется структура из двух строковых элементов - КонтактнаяИнформацияМенеджера.Телефон и КонтактнаяИнформацияМенеджера.АдресЭлПочты. Ну а дальше уже присвоить их параметром макета...
&НаСервере
Функция ПолучитьКонтактыМенеджера(МенеджерПользователь)
КонтактнаяИнформацияМенеджера = Новый Структура("Телефон,АдресЭлПочты");
СтрокаТелефон = "";
СтрокаЭлПочта = "";
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка КАК Ссылка,
| ПользователиКонтактнаяИнформация.НомерТелефона КАК НомерТелефона,
| NULL КАК АдресЭП
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
| ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
|ГДЕ
| Пользователи.Ссылка = &МенеджерПользователь
| И НЕ ПользователиКонтактнаяИнформация.НомерТелефона = """"
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Пользователи.Ссылка,
| NULL,
| ПользователиКонтактнаяИнформация.АдресЭП
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
| ПО ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка
|ГДЕ
| Пользователи.Ссылка = &МенеджерПользователь
| И НЕ ПользователиКонтактнаяИнформация.АдресЭП = """"";
Запрос.УстановитьПараметр("МенеджерПользователь", МенеджерПользователь);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.НомерТелефона) Тогда
СтрокаТелефон = СтрокаТелефон + ВыборкаДетальныеЗаписи.НомерТелефона + ", ";
КонецЕсли;
Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.АдресЭП) Тогда
СтрокаЭлПочта = СтрокаЭлПочта + ВыборкаДетальныеЗаписи.АдресЭП + ", ";
КонецЕсли;
КонецЦикла;
ДлинаТелефон = СтрДлина(СтрокаТелефон);
ДлинаЭлПочта = СтрДлина(СтрокаЭлПочта);
Если ДлинаТелефон > 2 Тогда
СтрокаТелефон = Лев(СтрокаТелефон, ДлинаТелефон-2);
КонецЕсли;
Если ДлинаЭлПочта > 2 Тогда
СтрокаЭлПочта = Лев(СтрокаЭлПочта, ДлинаЭлПочта-2);
КонецЕсли;
КонтактнаяИнформацияМенеджера.Телефон = СтрокаТелефон;
КонтактнаяИнформацияМенеджера.АдресЭлПочты = СтрокаЭлПочта;
Возврат КонтактнаяИнформацияМенеджера;
КонецФункции
ПоказатьВернется структура из двух строковых элементов - КонтактнаяИнформацияМенеджера.Телефон и КонтактнаяИнформацияМенеджера.АдресЭлПочты. Ну а дальше уже присвоить их параметром макета...
(4) От каких запросов? Тебе человек дал готовую функцию, которая тебе вернёт телефон и электронный адрес. Всё получение и обработку данных из результата запроса за тебя написали.
А ниже человек тебе показал функцию из БСП, там тоже тебе с запросами работать не нужно, какие проблемы?
А ниже человек тебе показал функцию из БСП, там тоже тебе с запросами работать не нужно, какие проблемы?
(6) Размещаешь где-нибудь в модуле (там же, где и заполняешь параметры областей макета) ту функцию, что тебе написали выше, чтобы потом к ней обращаться.
Для заполнения параметров пишешь:
только имена параметров вместо "КонтактМенеджерТелефон" и "КонтактМенеджерЭлАдрес" поставь свои
Для заполнения параметров пишешь:
КонтактнаяИнформацияМенеджера = ПолучитьКонтактыМенеджера(ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер);
Область.Параметры.КонтактМенеджерТелефон = КонтактнаяИнформацияМенеджера.Телефон;
Область.Параметры.КонтактМенеджерЭлАдрес = КонтактнаяИнформацияМенеджера.АдресЭлПочты;
только имена параметров вместо "КонтактМенеджерТелефон" и "КонтактМенеджерЭлАдрес" поставь свои
(8)
Спасибо ребята!
КонтактнаяИнформацияМенеджера = ПолучитьКонтактыМенеджера(ДанныеПечати.Ссылка.Контрагент.Партнер.ОсновнойМенеджер);
Область.Параметры.КонтактМенеджерТелефон = КонтактнаяИнформацияМенеджера.Телефон;
Область.Параметры.КонтактМенеджерЭлАдрес = КонтактнаяИнформацияМенеджера.АдресЭлПочты;
Область.Параметры.КонтактМенеджерТелефон = КонтактнаяИнформацияМенеджера.Телефон;
Область.Параметры.КонтактМенеджерЭлАдрес = КонтактнаяИнформацияМенеджера.АдресЭлПочты;
Спасибо ребята!
(5) Область.Параметры.КонтактМенеджер = Выборка.КонтактнаяИнформацияМенеджера; Или так, но ошибка
{ВнешняяОбработка.СчетНаОплатуВнешний.МодульОбъекта(2918,55)}: Переменная не определена (Выборка)
Область.Параметры.КонтактнаяИнформацияМенеджера = <<?>>Выборка.КонтактнаяИнформацияМенеджера; (Проверка: Сервер)
{ВнешняяОбработка.СчетНаОплатуВнешний.МодульОбъекта(2918,55)}: Переменная не определена (Выборка)
Область.Параметры.КонтактнаяИнформацияМенеджера = <<?>>Выборка.КонтактнаяИнформацияМенеджера; (Проверка: Сервер)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот