Обмен УТ11 -> БП выгрузка контрагентов с адресами

17.04.12

Интеграция - Перенос данных 1C

Речь пойдет о ручной выгрузке данных из Управления Торговлей 11 в Бухгалтерию 2.0.
Здесь достаточно приводится рабочих правил выгрузки, но там не работает при выгрузке контрагента выгрузка "Адресов" (Юридические и Фактические), попробуем исправить.

Речь пойдет о ручной выгрузке данных из Управления Торговлей 11 в Бухгалтерию 2.0.
Здесь достаточно приводится рабочих правил выгрузки, посмотрите тут или тут
но там не работает, при выгрузке контрагента, выгрузка "Адресов" (Юридические и Фактические). Повозившись, изменил Алгоритм.ВыгрузкаКонтактнойИнформации, который есть в этих правилах, но отключен, закомментирована его работа.

Так вот, заменяем код этого алгоритма в правилах на мой, и должно работать, предварительно раскомментировав строку

 

//Выполнить(Алгоритмы.ВыгрузкаКонтактнойИнформации);

в Правилах выгрузки(событие "после выгрузки"), Контрагентов



также в правилах конвертации "КотактнойИнформации" необходимо изменить существующие строки события "после загрузки" 
 

вставить следующий код

ОбъектМодифицирован = Ложь;
   
ЗаписьРегистра = Объект;//[НомерЗаписи - 1];
   
Если ЗаписьРегистра.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес И НЕ ЗначениеЗаполнено(ЗаписьРегистра.Представление) Тогда
       
// Заполняем представление по умолчанию, если в УТ адрес был не произвольный
       
ПредставлениеАдреса = УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдреса(ЗаписьРегистра);
        Если
ЗначениеЗаполнено(ПредставлениеАдреса) Тогда
           
ОбъектМодифицирован = Истина;
           
ЗаписьРегистра.Представление = ПредставлениеАдреса;
        КонецЕсли;
    КонецЕсли;

 

и должно работать, выгружается вся контактная информация по контрагенту, но в бухгателрию попадает только нужная Юр. адрес, Факт. адрес и телефоны.

 

код Алгоритма.ВыгрузкаКонтактнойИнформации

Строки = Новый ТаблицаЗначений;
Строки.Колонки.Добавить("Ссылка");
Строки.Колонки.Добавить("Объект");
Строки.Колонки.Добавить("Вид");
Строки.Колонки.Добавить("Тип");
Строки.Колонки.Добавить("Поле1");
Строки.Колонки.Добавить("Поле2");
Строки.Колонки.Добавить("Поле3");
Строки.Колонки.Добавить("Поле4");
Строки.Колонки.Добавить("Поле5");
Строки.Колонки.Добавить("Поле6");
Строки.Колонки.Добавить("Поле7");
Строки.Колонки.Добавить("Поле8");
Строки.Колонки.Добавить("Поле9");
Строки.Колонки.Добавить("ТипДома");
Строки.Колонки.Добавить("ТипКвартиры");
Строки.Колонки.Добавить("ТипКорпуса");
Строки.Колонки.Добавить("Представление");
Строки.Колонки.Добавить("Комментарий");
Строки.Колонки.Добавить("ЭтоПроизвольнаяСтрока", Новый ОписаниеТипов("Булево"));

// Типы дома, корпуса и квартиры, которые поддерживаются в БП
ТипыДомов = Новый Массив;
ТипыДомов.Добавить("дом");
ТипыДомов.Добавить("владение");

ТипыКорпусов = Новый Массив;
ТипыКорпусов.Добавить("корпус");
ТипыКорпусов.Добавить("строение");

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

    Для
Сч = 1 По СтрЧислоСтрок(СтрокаПолей) Цикл
       
Стр = СтрПолучитьСтроку(СтрокаПолей, Сч);
        Если
Лев(Стр, 1) = Символы.Таб Тогда
            Если
ПоследнийЭлементИмя <> Неопределено Тогда
               
СтруктураПолей[ПоследнийЭлементИмя] = СтруктураПолей[ПоследнийЭлементИмя] + Символы.ПС + Сред(Стр, 2);
            КонецЕсли;
        Иначе
           
Поз = Найти(Стр, "=");
            Если
Поз <> 0 Тогда
               
ПоследнийЭлементИмя = Лев(Стр, Поз-1);
               
СтруктураПолей.Вставить(ПоследнийЭлементИмя, Сред(Стр, Поз+1));
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;

   
СтрокаНабора = Строки.Добавить();
   
СтрокаНабора.Объект                 = Объект.Ссылка;
   
СтрокаНабора.Вид                    = СтрокаКИ.Вид;
   
СтрокаНабора.Тип                    = СтрокаКИ.Тип;
   
СтрокаНабора.Представление          = СтрокаКИ.Представление;

    Если
СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Факс
        ИЛИ СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
       
СтруктураПолей.Свойство("КодСтраны", СтрокаНабора.Поле1);
       
СтруктураПолей.Свойство("КодГорода", СтрокаНабора.Поле2);
       
СтруктураПолей.Свойство("НомерТелефона", СтрокаНабора.Поле3);
       
СтруктураПолей.Свойство("Добавочный", СтрокаНабора.Поле4);
    ИначеЕсли
СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда

       
СтруктураПолей.Свойство("Индекс", СтрокаНабора.Поле1);
       
СтруктураПолей.Свойство("Регион", СтрокаНабора.Поле2);
       
СтруктураПолей.Свойство("Район", СтрокаНабора.Поле3);
       
СтруктураПолей.Свойство("Город", СтрокаНабора.Поле4);
       
СтруктураПолей.Свойство("НаселенныйПункт", СтрокаНабора.Поле5);
       
СтруктураПолей.Свойство("Улица", СтрокаНабора.Поле6);
       
СтруктураПолей.Свойство("Дом", СтрокаНабора.Поле7);
       
СтруктураПолей.Свойство("Корпус", СтрокаНабора.Поле8);
       
СтруктураПолей.Свойство("Квартира", СтрокаНабора.Поле9);

       
СтруктураПолей.Свойство("ТипДома", СтрокаНабора.ТипДома);
       
СтруктураПолей.Свойство("ТипКорпуса", СтрокаНабора.ТипКорпуса);
       
СтруктураПолей.Свойство("ТипКвартиры", СтрокаНабора.ТипКвартиры);

       
// Проверяем значения типа дома, корпуса и квартиры
       
СтрокаНабора.ТипДома     = ?(ТипыДомов.Найти(НРег(СтрокаНабора.ТипДома)) = Неопределено, Неопределено, СтрокаНабора.ТипДома);
       
СтрокаНабора.ТипКорпуса  = ?(ТипыКорпусов.Найти(НРег(СтрокаНабора.ТипКорпуса)) = Неопределено, Неопределено, СтрокаНабора.ТипКорпуса);
       
СтрокаНабора.ТипКвартиры = ?(ТипыКвартир.Найти(НРег(СтрокаНабора.ТипКвартиры)) = Неопределено, Неопределено, СтрокаНабора.ТипКвартиры);

       
// Получаем представление, какое оно должно быть
       
КодСтраны = "";
       
НаименованиеСтраны = СтрокаКИ.Страна;
       
СтранаРоссия = Справочники.СтраныМира.Россия;

       
СтруктураПолей.Свойство("КодСтраны", КодСтраны);
       
Страна = ?(ЗначениеЗаполнено(КодСтраны), Справочники.СтраныМира.НайтиПоКоду(КодСтраны), Неопределено);
       
Страна = ?(ЗначениеЗаполнено(Страна), Справочники.СтраныМира.НайтиПоНаименованию(НаименованиеСтраны, Истина), СтранаРоссия);
       
Страна = ?(ЗначениеЗаполнено(Страна), Страна, СтранаРоссия);

       
Представление = "";
        Если
Страна <> СтранаРоссия Тогда
           
Представление = Представление + ?(ЗначениеЗаполнено(Строка(Страна)), ", " + Строка(Страна), "");
        КонецЕсли;
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле1)), ", " + СокрЛП(СтрокаНабора.Поле1), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле2)), ", " + СокрЛП(СтрокаНабора.Поле2), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле3)), ", " + СокрЛП(СтрокаНабора.Поле3), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле4)), ", " + СокрЛП(СтрокаНабора.Поле4), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле5)), ", " + СокрЛП(СтрокаНабора.Поле5), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле6)), ", " + СокрЛП(СтрокаНабора.Поле6), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле7)), ", " + СтрокаНабора.ТипДома    + " № " + СокрЛП(СтрокаНабора.Поле7), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле8)), ", " + СтрокаНабора.ТипКорпуса + " " + СокрЛП(СтрокаНабора.Поле8), "");
       
Представление = Представление + ?(ЗначениеЗаполнено(СокрЛП(СтрокаНабора.Поле9)), ", " + СтрокаНабора.ТипКвартиры + " " + СокрЛП(СтрокаНабора.Поле9), "");

        Если
СтрДлина(Представление) > 2 Тогда
           
Представление = Сред(Представление, 3);
        КонецЕсли;

       
// Проверяем представление на наличие произвольного значения
       
Если Представление <> СтрокаНабора.Представление Тогда
           
СтрокаНабора.ЭтоПроизвольнаяСтрока = Истина;
           
СтрокаНабора.Поле1 = Строка(Страна);
        КонецЕсли;

       
СтрокаНабора.ТипКвартиры = ?(СтрокаНабора.ТипКвартиры = "кв.", "Квартира", "Офис");

    КонецЕсли;

   
СтруктураПолей.Свойство("Комментарий", СтрокаНабора.Комментарий);
КонецЦикла;




Для Каждого
текСтрокаКотакт из Строки Цикл

   
Сообщить(текСтрокаКотакт.Представление);
   
ВыгрузитьПоПравилу(текСтрокаКотакт, ,, , "КонтактнаяИнформация");
КонецЦикла;

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    190820    460    307    

460

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    189963    369    292    

426

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    162330    980    324    

483

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    85518    229    180    

166

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    35093    261    64    

199

Перенос данных 1C Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Перенос данных из УПП 1.3 в УНФ | из КА 1.1 в УНФ | из УТ 10.3 в УНФ | Перенос разработан в формате КД 2 (правила конвертации объектов) | Выгружаются все возможные виды документов, начальных остатков и вся нормативно-справочная информация | Есть фильтр по организациям при выгрузке данных | Есть несколько алгоритмов выгрузки начальных остатков товаров на выбор | Можно проверить перед покупкой на своем сервере!

58000 руб.

17.10.2019    45189    60    117    

62

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Перенос данных из БП 2 в БП 3 готовые правила конвертации данных (КД 2), сэкономьте свое время! | Выполнить переход с БП 2 на БП 3 в ситуациях, когда простым обновлением перейти не получается | Переносится вся справочная информация, документы за выбранный период, а также начальные остатки на выбранную дату (то есть можно еще и свертку базы сделать при переносе) | Есть фильтр по организациям при выгрузке данных | Перенос можно проверить перед покупкой прямо на вашем сервере! Обращайтесь за проверкой!

50600 руб.

21.05.2019    59057    81    134    

73

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

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

85400 руб.

05.10.2022    13977    16    8    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. iov 408 18.04.12 19:33 Сейчас в теме
2. AlexeyK1 15 18.04.12 21:26 Сейчас в теме
(1) Извините, дублировать не стал, чтобы не тратить ваши $m и не обвинили в плагиате, дал ссылку на те правила которые сам брал отсюда, и внес маленькие корректировки, о которых подробно расписал... просто мои правила которые я переделал они сугубо индивидуальны, но могу конечно задублировать с поправками на те, что ссылался.
вожно взять вот эти правила http://infostart.ru/public/120056/ и сделать изменения самому...
удачи
3. iov 408 18.04.12 22:03 Сейчас в теме
(2) Та я не за себя радею... У мну есть все что надо ...
4. orehova123 20.04.12 15:22 Сейчас в теме
хм... спасибо, добавлю себе в закладки, чувствую, что скоро пригодится
5. elena_vash 03.09.13 04:31 Сейчас в теме
Спасибо, пригодилось.
Прикрепленные файлы:
6. FallenMad 12 05.02.14 19:29 Сейчас в теме
Спасибо, очень пригодилось
7. timothy 24.02.14 17:34 Сейчас в теме
Мне пригодилось спасибо
8. mchammer4 249 27.02.14 20:44 Сейчас в теме
Спасибо! сохранил кому то SM
9. Anyu-n 28 02.12.15 15:15 Сейчас в теме
Доброго времени суток! Вылезает ошбка
Ошибка в обработчике события ПослеВыгрузкиДанных (конвертация)
Обработчик = ПослеВыгрузкиДанных (конвертация)
ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(35,25)}: Переменная не определена (Объект)
ПозицияМодуля = (14)
КСообщенияОбОшибках = 63
10. Anyu-n 28 03.12.15 11:34 Сейчас в теме
Вроде все делала как сказали .... помогите пожалуйста....
Прикрепленные файлы:
11. Отала 21.02.16 13:42 Сейчас в теме
Аналогичная ошибка ,ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(35,25)}: Переменная не определена (Объект)
Для отправки сообщения требуется регистрация/авторизация