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


По теме из базы знаний
Найденные решения
(1) Собственно, решение было следующее
Запросом вытягиваем номер телефона и вид.
Делаем такое условие.
Дальше,
И получаем как результат запись в файле с названием телефона и его данными.
Спасибо всем, кто что-то предлагал!
Запросом вытягиваем номер телефона и вид.
|ГДЕ
| ФизическиеЛицаКонтактнаяИнформация.Ссылка.ИНН = &ИНН
| И ФизическиеЛицаКонтактнаяИнформация.Тип = &Тип
Делаем такое условие.
Дальше,
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонМобильныйФизическиеЛица Тогда
XML.ЗаписатьНачалоЭлемента("МобильныйТелефон");
XML.ЗаписатьТекст(Строка(ВыборкаДетальныеЗаписи.НомерТелефона));
XML.ЗаписатьКонецЭлемента();
ИначеЕсли...
И получаем как результат запись в файле с названием телефона и его данными.
Спасибо всем, кто что-то предлагал!
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Собственно, решение было следующее
Запросом вытягиваем номер телефона и вид.
Делаем такое условие.
Дальше,
И получаем как результат запись в файле с названием телефона и его данными.
Спасибо всем, кто что-то предлагал!
Запросом вытягиваем номер телефона и вид.
|ГДЕ
| ФизическиеЛицаКонтактнаяИнформация.Ссылка.ИНН = &ИНН
| И ФизическиеЛицаКонтактнаяИнформация.Тип = &Тип
Делаем такое условие.
Дальше,
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонМобильныйФизическиеЛица Тогда
XML.ЗаписатьНачалоЭлемента("МобильныйТелефон");
XML.ЗаписатьТекст(Строка(ВыборкаДетальныеЗаписи.НомерТелефона));
XML.ЗаписатьКонецЭлемента();
ИначеЕсли...
И получаем как результат запись в файле с названием телефона и его данными.
Спасибо всем, кто что-то предлагал!
(27)
это текст моего запроса. отсюда берется вид и проверяется его значение
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛицаКонтактнаяИнформация.НомерТелефона КАК НомерТелефона,
| ФизическиеЛицаКонтактнаяИнформация.Вид КАК Вид
|ИЗ
| Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
|ГДЕ
| ФизическиеЛицаКонтактнаяИнформация.Ссылка.ИНН = &ИНН
Показатьэто текст моего запроса. отсюда берется вид и проверяется его значение
(4) хорошо, представим такую ситуацию: у физлица заполнен только домашний телефон. соответсвенно, я делаю xml элмент со значением этого телефона. Но как потом базе-приемнику объяснить, что это именно домашний телефон, а не рабочий?
в этом идет и вся загвостка...
я планировал, что в xml будет 3 элемента с номерами телефона, которые есть. и уже при чтении определенного узла брался нужный номер
в этом идет и вся загвостка...
я планировал, что в xml будет 3 элемента с номерами телефона, которые есть. и уже при чтении определенного узла брался нужный номер
(6) я думал так:
<Телефон1> 81111111111</Телефон1>
<Телефон2> 81111111112</Телефон2>
<Телефон3> 81111111122</Телефон3>
где телефон1 - мобильный, 2-домашний, 3 - рабочий
писать код для базы-приемника пока не пробовал. считаю, что надо сначала это довести до ума
<Телефон1> 81111111111</Телефон1>
<Телефон2> 81111111112</Телефон2>
<Телефон3> 81111111122</Телефон3>
где телефон1 - мобильный, 2-домашний, 3 - рабочий
писать код для базы-приемника пока не пробовал. считаю, что надо сначала это довести до ума
(5)
По виду контактной информации?
Но как потом базе-приемнику объяснить, что это именно домашний телефон, а не рабочий?
По виду контактной информации?
Справочники.ВидыКонтактнойИнформации.ТелефонДомашнийФизическиеЛица
Справочники.ВидыКонтактнойИнформации.ТелефонМобильныйФизическиеЛица
Справочники.ВидыКонтактнойИнформации.ТелефонРабочийФизическиеЛица
(18) Ну что ты! Я так ждал, что человек сам дойдет до того, что в запросе, однако, можно выгружать несколько полей.
Ну да ладно. Ему все равно еще разбираться - что это за поля, как их интерпретировать, и что с ними потом делать.
А потом "еще полдня бегать, чтобы фотографию отдать".
Ну да ладно. Ему все равно еще разбираться - что это за поля, как их интерпретировать, и что с ними потом делать.
А потом "еще полдня бегать, чтобы фотографию отдать".
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот