Загрузить данные из excel в табличную часть справочника физические лица

1. Hazzi 24.02.25 11:26 Сейчас в теме
Знатоки, добрый день!
Поставили задачу сделать внешнюю обработку в 1с ЗУП 3.1

Требования от обработки:
Из Excel в 1с в справочник Физические Лица (физические лица уже заполнены) нужно в личных данных, в контактной информации, обновить/внести номер телефона, не затирая остальные данные и не создавая новую карточку физического лица.
Что бы не нужно было сопоставлять данные как в стандартной обработке ЗагрузкаДанныхИзФайла
Поиск по ФИО, но при этом есть полное совпадение по ФИО, можно и добавить например поиск по другим признакам.

Поля: рабочий телефон (предопределённый вид КИ), и добавленный через интерфейс 1с Корпоративный телефон (не предопределённый вид КИ)


Ниже пример столбцов в файле excel.xlsx, один из двух номеров может быть пустым, а могут быть заполнены и оба, статус и другие возможные столбцы не принимают никакого участия в обработке

Корпоративный телефон Рабочий телефон ФИО Статус
89999999999 89999999999 Иванов Иван Иванович Активный (Действующий)

Подскажите пожалуйста где искать информацию на эту тему?

Цель сделать внешнюю обработку, предоставить к ней доступ пользователям и они путём загрузки документа сделанного по единому шаблону вносили необходимые данные в 1с из excel не более.

Курсы от уц 1с как то не сильно помогли там как они сами говорят "база/основы"
ЗагрузкаДанныхИзТабличногоДокумента.epf не запускается, пустое белок окно.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vinzor 112 24.02.25 11:47 Сейчас в теме
Не думаю, что станет сильно легче, если с ЗУПом не знаком.

Для идентификации физлица самое лучшее - СНИЛС (чтобы было в эксель).
ФИО - для сверки найденного по СНИЛС.
Я бы во внешней обработке сделал..
1. Реквизиты вида "путь к файлу Эксель",
2. Команды "Прочитать эксель", "Распознать физлиц", "Обновить данные физлиц"
3. ТЧ по физлицам с нужными колонками

Команда 1 - "Прочитать эксель" читает физлиц, и заполняет строкововыми значениями, взятыми в экселе, ТЧ обработки: ФИО, СНИЛС, вид телефона (рабочий или какой), номер телефона
Команда 2 - "Распознать физлиц", действие: ТЧ отдаешь в запрос, распознаешь физицо по СНИЛС, а ФИО из эксель проверяешь на вхождение подстрокой в строку Наименование найденного в базе физлица. Все можно сделать в запросе. По найденным и опознанным физлицам ставить признак "опознан" + заполняешь колонку ТЧ ссылкой на физлицо
Команда 3. Если есть "опознанные" - в цикле пробегаешь по ним, получаешь объект Физлицо, получаешь его ТЧ "Контактная информация", в ней ищешь строки с нужным видом контактной информации и т.д.

Ну кратно так
3. skeptik2105 24.02.25 13:48 Сейчас в теме
Цель сделать внешнюю обработку, предоставить к ней доступ пользователям и они путём загрузки документа сделанного по единому шаблону вносили необходимые данные в 1с из excel не более.


Вам нужно разбить задачу на более мелкие подзадачи. Например:
1. Создать Внешнюю обработку
2. Реализовать выбор файла с диска
3. Реализовать чтение данных из файла
4. Реализовать распознание физ. лиц
и тд..

И когда уже на конкретном шаге будут проблемы - писать вопрос на форум. Хотя обычно, найти ответы по 1С на конкретные вопросы не представляет труда.
4. miniogn 44 24.02.25 17:49 Сейчас в теме
+ как начинающему посоветовал бы к (3), во внешней обработке создать две таблицы
Исходный текст - ТЗ (или возможно исходная таблица - ТД), сюда просто копируешь загружаемый файл 1 к 1.
Но по колонкам и ячейкам.
И вторая ТЗ с колонками совпадающими по типам, как в регистре контактной информации.

Таким образом задача сводится к 3м функциям (грубо говоря три кнопки на форме).
- Чтение из файла в таблицу исходный текст.
- преобразование текста в ссылки 1с и заполнение таблицы с данными
- перенос данных в регистр 1 к 1.

При таком сценарии хорошо то что можно сосредоточится на самой сложной тут функции - преобразовании текста в ссылки. Хорошо видны все ошибки, просто по пустым ячейкам в таблице данных.
5. Vinzor 112 24.02.25 18:44 Сейчас в теме
(4) 2 таблицы - перегруз зрения
Одной таблицы хватит
Просто надо чтобы в ней была колонка "Распознан" + Колонка с ссылкой на физлицо
Можно еще итоги вытащить:
- всего строк в ТЧ - сверять с эксель
- распознано физлиц - выгрузить ТЧ в таблицу значений, по фильтру "Распознан = истина" и посчитать число строк.
Или, как вариант, колонку "Распознан" кодировать: 0 - не распознан, 1 - распознан.
И число распознанных - итог по колонке "Распознан"
Но всё в одной ТЧ - так легче воспринимается.

Я подобную вещь делал недавно. Чтение 600 строк из эксель заняло примерно 5 сек. Распознание длилось ~ 1 сек. А дальше - третье действие, время не назову, потому что это была загрузка в ТЧ документа и вызов метода полного пересчета сотрудников в документе (НДФЛ, удержания)
6. miniogn 44 24.02.25 18:48 Сейчас в теме
(5) Согласен с одной таблицей значений, но визуально надо разделить правую сырую и левую распознанную часть (именно как для начинающего разобраться). Профи конечно оптимизирует там сям.
Оставьте свое сообщение

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