Как правильно вывести в общем Динамическом списке все телефоны Контрагентов в одну колонку справочника Контрагенты

1. user844451 22.09.21 12:02 Сейчас в теме
Здравствуйте, Уважаемое сообщество!!! Подскажите пожалуйста, кто знает, всю голову сломал над этой задачей. Есть внешняя обработка справочник Контрагенты для конфигурации 1С Розница 2.3, пытаюсь вывести в одну колонку все телефоны Контрагентов (ИП, Юр. лица + Физ. лица), работаю с Динамическим списком:

Так выводит только телефоны Контрагентов (ИП и Юр. лица), Физ. лица телефоны не отображаются!

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Контрагенты.ВерсияДанных КАК ВерсияДанных,
	Контрагенты.ПометкаУдаления КАК ПометкаУдаления,
	Контрагенты.Родитель КАК Родитель,
	Контрагенты.ЭтоГруппа КАК ЭтоГруппа,
	Контрагенты.Код КАК Код,
	МАКСИМУМ(Контрагенты.Наименование) КАК Наименование,
	Контрагенты.ИНН КАК ИНН,
	Контрагенты.КодПоОКПО КАК КодПоОКПО,
	Контрагенты.КПП КАК КПП,
	Контрагенты.НаименованиеПолное КАК НаименованиеПолное,
	Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо,
	Контрагенты.Удалить_СистемаНалогообложения КАК Удалить_СистемаНалогообложения,
	Контрагенты.СтранаРегистрации КАК СтранаРегистрации,
	Контрагенты.РегистрационныйНомер КАК РегистрационныйНомер,
	Контрагенты.ГрафикОплаты КАК ГрафикОплаты,
	Контрагенты.Покупатель КАК Покупатель,
	Контрагенты.Поставщик КАК Поставщик,
	Контрагенты.УдалитьСистемаНалогообложения КАК УдалитьСистемаНалогообложения,
	Контрагенты.УчастникЭДО КАК УчастникЭДО,
	Контрагенты.ФизЛицо КАК ФизЛицо,
	Контрагенты.Предопределенный КАК Предопределенный,
	Контрагенты.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
	Контрагенты.Представление КАК Представление,
	КонтрагентыКонтактнаяИнформация.НомерТелефона КАК НомерТелефона,
	МИНИМУМ(КонтрагентыКонтактнаяИнформация.Представление) КАК Представление1,
	ФизическиеЛица.ВерсияДанных КАК ВерсияДанных1,
	ФизическиеЛица.ПометкаУдаления КАК ПометкаУдаления1,
	ФизическиеЛица.Родитель КАК Родитель1,
	ФизическиеЛица.ЭтоГруппа КАК ЭтоГруппа1,
	МАКСИМУМ(ФизическиеЛица.Наименование) КАК Наименование1,
	ФизическиеЛица.ДатаРождения КАК ДатаРождения,
	ФизическиеЛица.Сотрудник КАК Сотрудник,
	ФизическиеЛица.Магазин КАК Магазин,
	ФизическиеЛица.Пол КАК Пол,
	ФизическиеЛица.ИНН КАК ИНН1,
	ФизическиеЛицаКонтактнаяИнформация.НомерТелефона КАК НомерТелефона1,
	МИНИМУМ(ФизическиеЛицаКонтактнаяИнформация.Представление) КАК Представление2
ИЗ
	Справочник.Контрагенты КАК Контрагенты
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
		ПО (КонтрагентыКонтактнаяИнформация.Ссылка = Контрагенты.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
		ПО (ФизическиеЛицаКонтактнаяИнформация.Ссылка = Контрагенты.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
		ПО (Контрагенты.ФизЛицо = ФизическиеЛица.Ссылка)

СГРУППИРОВАТЬ ПО
	Контрагенты.ВерсияДанных,
	Контрагенты.УдалитьСистемаНалогообложения,
	Контрагенты.ИмяПредопределенныхДанных,
	Контрагенты.РегистрационныйНомер,
	Контрагенты.Удалить_СистемаНалогообложения,
	Контрагенты.Покупатель,
	Контрагенты.Родитель,
	Контрагенты.НаименованиеПолное,
	Контрагенты.Поставщик,
	Контрагенты.ФизЛицо,
	Контрагенты.ПометкаУдаления,
	Контрагенты.ИНН,
	Контрагенты.ЮрФизЛицо,
	Контрагенты.СтранаРегистрации,
	Контрагенты.УчастникЭДО,
	Контрагенты.Предопределенный,
	Контрагенты.Код,
	Контрагенты.КодПоОКПО,
	Контрагенты.Представление,
	Контрагенты.ГрафикОплаты,
	КонтрагентыКонтактнаяИнформация.НомерТелефона,
	Контрагенты.ЭтоГруппа,
	Контрагенты.КПП,
	ФизическиеЛицаКонтактнаяИнформация.НомерТелефона,
	ФизическиеЛица.ВерсияДанных,
	ФизическиеЛица.ПометкаУдаления,
	ФизическиеЛица.Родитель,
	ФизическиеЛица.ЭтоГруппа,
	ФизическиеЛица.ДатаРождения,
	ФизическиеЛица.Сотрудник,
	ФизическиеЛица.Магазин,
	ФизическиеЛица.Пол,
	ФизическиеЛица.ИНН
Показать


Так отображаются телефоны Физ. лиц!

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

СГРУППИРОВАТЬ ПО
	ФизическиеЛица.Ссылка,
	ФизическиеЛица.ВерсияДанных,
	ФизическиеЛица.ПометкаУдаления,
	ФизическиеЛица.Родитель,
	ФизическиеЛица.ЭтоГруппа,
	ФизическиеЛица.ДатаРождения,
	ФизическиеЛица.Сотрудник,
	ФизическиеЛица.Магазин,
	ФизическиеЛица.Пол,
	ФизическиеЛица.ИНН,
	ФизическиеЛица.Предопределенный,
	ФизическиеЛица.ИмяПредопределенныхДанных,
	ФизическиеЛицаКонтактнаяИнформация.НомерТелефона
Показать


Вопрос: Как правильно вывести в общем Динамическом списке все телефоны Контрагентов в одну колонку справочника Контрагенты, конфигурация 1С Розница 2.3 !?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Sashares 35 22.09.21 13:22 Сейчас в теме
(1)Использовать событие ПриПолученииДанныхНаСервере, и в нем прописать заполнение колонки с телефоном.
В запросе динамического списка этого делать не следует.
5. user844451 22.09.21 13:25 Сейчас в теме
(4) Александр, здравствуйте!!!
ПриПолученииДанныхНаСервере

Пишу запрос...

Далее, пример программного кода в цикле можете написать!?
6. Sashares 35 22.09.21 13:33 Сейчас в теме
(5)
Пример получения для каждого контрагента в цикле в событии ПриПолученииДанныхНаСервере
Для каждого Строка Из Строки Цикл
 ТекТелефон = "";
КИКонтрагента= УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Строка.Ключ...);
//тут из КИКонтрагента заполняете ТекТелефон 

 Строка.Значение.Данные.Телефон = ТекТелефон ;
 
 КонецЦикла;
Показать


В общем модуле есть функция получения контактной информации для массива ссылок, лучше заранее получить нужные данные, чем в цикле запросы. Но как пример, это пойдет.

Соответственно, в динамическом списке должна быть колонка "Телефон".
Строка.Ключ - если у вас контрагенты это основная таблица динамического списка. Если не основная, то соответственно, брать из Данных нужное поле с ссылкой на контрагента или на физлицо.
8. user844451 22.09.21 13:40 Сейчас в теме
(6) Пример:

Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
	     |	КонтрагентыКонтактнаяИнформация.Ссылка.Наименование КАК Наименование,
	     |	КонтрагентыКонтактнаяИнформация.Представление КАК Представление,
	     |	КонтрагентыКонтактнаяИнформация.НомерТелефона КАК НомерТелефона
	     |ИЗ
	     |	Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация";
	     
	РезультатЗапроса = Запрос.Выполнить();
	Выборка = РезультатЗапроса.Выбрать();
		
	Пока Выборка.Следующий() Цикл
		Если Выборка.НомерТелефона = "" Тогда
			ЭтаФорма.Элементы.Телефон = Выборка.Представление;
		КонецЕсли;
	КонецЦикла;
Показать
7. user844451 22.09.21 13:34 Сейчас в теме
(5) В цикле нужно наверно написать перечисление:

Если НЕ ИП, Юр. лицо и так далее Тогда
ЭтаФорма.Элементы.Телефон = Выборка.Представление;

Так что ли!?
2. пользователь 22.09.21 13:17
Сообщение было скрыто модератором.
...
3. пользователь 22.09.21 13:22
Сообщение было скрыто модератором.
...
9. пользователь 22.09.21 13:42
Сообщение было скрыто модератором.
...
10. пользователь 22.09.21 13:51
Сообщение было скрыто модератором.
...
11. пользователь 22.09.21 13:53
Сообщение было скрыто модератором.
...
12. пользователь 22.09.21 13:56
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

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