Прием конвертации, который позволит решить много задач

Публикация № 169528 16.01.13

Интеграция - Обмен между базами 1C

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

Данный прием широко использовался для переноса информации из конфигурации «Бухгалтерский учет»  в  конфигурацию «Зарплата и управление персоналом 2.5».

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

Сложность задачи состояла в том, что база данных источника и приемника сильно отличаются по структуре. Во многих случаях простое сопоставление объектов и их реквизитов не подходило. 

 Вот несколько примеров правил конвертации, которые пришлось разработать:

Отмечу, что предварительно были разработаны простые правила конвертации, для объектов которые можно было сопоставить в источнике и приемнике.

Пример1: Генерация документа «ПриемНаРаботуВОрганизацию»

В источнике присутствует документ «ПриказОПриемеНаРаботу» но ни одного документа не заполнено. В приемнике документ «ПриемНаРаботуВОрганизацию» имеет несколько табличных частей, которые надо заполнить информацией по работникам и основным начислениям. Необходимо было извлечь информацию из справочника «Сотрудники» исходной конфигурации и поместить  в соответствующие табличные части документа «ПриемНаРаботуВОрганизацию» конфигурации приемника. Т.е. на выходе у нас должен сформироваться один документ «ПриемНаРаботуВОрганизацию» содержащий информацию о всех сотрудниках.  Как инициировать создание одного документа в приемнике? Применили искусственный прием: в событии «Перед обработкой» правила выгрузки данных разместили код:

Данный код, размещенный в правиле выгрузки данных, спровоцирует выгрузку одного объекта, которого на самом деле нет в источнике.

Правило конвертации объектов настроили следующим образом:

В правилах конвертации свойств добавили две группы в соответствии с количеством табличных частей приемника, которые мы хотели заполнить.

В обработчике события «ПередВыгрузкой» правила конвертации группы свойств создали таблицу значений со структурой соответствующей структуре информации, которую необходимо передать в приемник. Циклом по справочнику «Сотрудники» заполнили эту таблицу и передали ее параметру «КоллекцияОбъектов».

Внутри группы для каждого передаваемого реквизита создали правило конвертации свойств  и в обработчике «Перед выгрузкой» разместили код:

Значение = ОбъектКоллекции.ИмяКолонкиТаблицыЗначений

Где ИмяКолонкиТаблицыЗначений – имя колонки таблицы, которую мы создали в ПКГС.

После того как мы сопоставили все передаваемые реквизиты правила конвертации свойств выглядели так:

Далее разработали правила для заполнения табличной части «ОсновныеНачисления» в приемнике.  Напомню, что видов расчета и исходной конфигурации нет. В справочнике «Сотрудники» конфигурации-источника есть информация об окладе, ставке и надбавках. 

Чтобы выполнить сопоставление - нашли в конфигурации-приемнике виды расчета соответствующие окладу и видам надбавок, добавили недостающие. Запомнили их коды.  Далее в обработчике «Перед обработкой» правила конвертации группы свойств, для табличной части «Основные начисления» разместили код:

Далее по аналогии создали правила конвертации свойств, для нужных реквизитов.

 

Пример 2: Перенос информации о лицевых счетах сотрудников в банке

 Организация перечисляет зарплату сотрудникам в банк для последующего зачисления на пластиковые карточки. Сотрудники имеют лицевые счета в различных банках. Сведения о лицевых счетах в источнике содержаться в справочнике «Сотрудники» в виде нескольких реквизитов.

В конфигурации-приемнике есть документ «ЗаявкаНаОткрытиеСчетов» в реквизитах которого указан банк а в табличной части список сотрудников,  которые имеют счет в этом банке.  Задача состоит в том, чтобы взять информацию из справочника в источнике и разложить ее в несколько (по количеству банков) документов в приемнике. Порядок действий:

1)    Создаем правило выгрузки данных в котором описываем таблицу значений с одной колонкой. Добавляем в таблицу значений количество строк равное количеству банков.  И присваиваем таблицу значений параметру «ВыборкаДанных».

2)  Создаем правило конвертации объектов, правила конвертации свойств и правила конвертации группы свойств:

3)    В обработчике события  «Перед выгрузкой» правила конвертации группы свойств формируем таблицу значений со структурой аналогичной структуре табличной части приемника:

4) Далее аналогично примеру 1.

Пример 3: Перенос информации об изменении окладов

Данная информация необходима для расчета среднего заработка. В источнике данная информация представлена периодическим  реквизитом «Оклад» справочника «Сотрудники».  В приемник ее можно перенести через документ «Кадровое перемещение организации» в котором есть табличная часть «ОсновныеНачисления», содержащая информацию о составе и размере начислений для каждого работника. Обычно изменение окладов в организации происходит одновременно для всех работников. Просматривая реквизит Сотрудники.Оклад можно получить даты изменения окладов за интересующий период. Далее технология работы аналогичная предыдущему примеру.

1)    Создаем правило выгрузке данных где в соответствующем обработчике определяем таблицу значений с реквизитом «Дт». Добавляем в таблицу значений количество строк равное количеству событий изменения оклада.

В реквизит «Дт» добавляем даты изменения оклада.

2)    Правило конвертации свойств выглядит так:

3)    Содержание обработчиков правил конвертации группы свойств :

- для табличной части «РаботникиОрганизации»:

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

- для табличной части «ОсновныеНачисления»:

тз=СоздатьОбъект("ТаблицаЗначений");
тз.НоваяКолонка("Сотрудник");
тз.НоваяКолонка("ФизЛицо");
тз.НоваяКолонка("ВидРасчета");
тз.НоваяКолонка("Показатель1");
тз.НоваяКолонка("Валюта");

сп=СоздатьОбъект("Справочник.Сотрудники");
сп.ВыбратьЭлементы();
Пока сп.ПолучитьЭлемент()=1 Цикл
    Если сп.ПометкаУдаления()=1 Тогда
        Продолжить;
    КонецЕсли;
    Если сп.ЭтоГруппа()=1 Тогда
        Продолжить;
    КонецЕсли;
    Если Источник.Дт
        Продолжить;
    КонецЕсли;
    //***
    ОкладПоЧасам  =  сп.Оклад.Получить(Источник.Дт);
    Если ОкладПоЧасам > 0 Тогда
        тз.НоваяСтрока();
        тз.Сотрудник = сп.ТекущийЭлемент();
        тз.ФизЛицо    = сп.ТекущийЭлемент();
        тз.ВидРасчета= "00002";
        тз.Показатель1 = ОкладПоЧасам;
        тз.Валюта         = "BYR";
    КонецЕсли;
КонецЦикла;  
КоллекцияОбъектов = тз;

Надеюсь, данная публикация будет полезна специалистам, делающим первые шаги в разработке правил конвертации.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Филин 190 16.01.13 21:47 Сейчас в теме
Со всеми примерами еще подробно не разобрался, но по первому есть вопросы.

Прием с выгрузкой "фальшивого" объекта -- крутой и иногда очень сильно спасает, но тут, кажется, можно было сделать проще. Я в похожей ситуации создавал "СписокЗначений", заполнял его значениями с представлениями, имена которых совпадают с именами полей приемника, а потом передавал в ПКО как "ВходящиеДанные". Табличные части передаются как ТаблицыЗначений. При этом получается, что не надо определять в каждом ПКС переменную "Значение", она сама из входящих данных подтянется. ПКО и ПКС выглядят более аккуратно что-ли, ну и по полной используются механизмы, заложенные в КД

Получается что-то вроде такого:

ПВД:
 ..тут может быть какой-то цикл...

данныеДокумента = создатьОбъект("СписокЗначений");
данныеДокумента.добавитьЗначение(1,"НомерДок");
данныеДокумента.добавитьЗначение("Перенос данных","Комментарий");

тчДокумента = создатьОбъект("ТаблицаЗначений");
тчДокумента.новаяКолонка("Сумма");
тчДокумента.новаяСтрока();
тчДокумента.сумма = 100;

данныеДокумента.добавитьЗначение(тчДокумента, "Платежи");

выгрузитьПоПравилу("заглушка",,данныеДокумента,,"Платежка");

...конец цикла...
Показать


В ПКО у реквизитов шапки и у ПКГС табличной части ставим флаг "получить из входящих данных". Бонус: в ПКС полей табличной части не надо ничего писать или ставить какие-то галки, все само схватится
Spacer; echo77; wowik; JinAir7460; GreenEye; alon; xavi; servs; fancy; +9 Ответить
2. LexSeIch 209 17.01.13 05:56 Сейчас в теме
Мир этому дому!
Конвертация - как шаманство - есть инструмент и правила, а все остальное свобода творчества. Судя по статье - это результат практического использования. Это всегда плюс.
3. Азбука Морзе 102 17.01.13 09:56 Сейчас в теме
После того как познакомился с XDTO-серилизацией конфигурацию "Конвертация данных" вспоминаю как страшный сон. Автор молодец. На конкретном примере показал убогость и неестественность правил и приемов КД при обмене данными между разнородными системами. За это и плюсую.
avz_1C; JinAir7460; servs; +3 2 Ответить
4. stanru1 91 17.01.13 12:02 Сейчас в теме
(3) особенно в 7.7 XDTO сериализация рулит :)
на практике перенос (планирование - разработка - тестирование - эксплуатация) из конфигурации 77 в 82 с помощью КД выполняется в несколько раз быстрее, чем альтернативные варианты.
user1027191; echo77; avz_1C; the1c; RomanBor; 1vasia1; gavrikprog; Spacer; dimas103; +9 Ответить
5. Istur 1461 17.01.13 13:15 Сейчас в теме
(3) xotr, раз такой крутой механизм для тебя, то почему нет ни одной твоей статьи про XDTO-сериализацию?
avz_1C; JinAir7460; Ish_2; +3 Ответить
6. AlexO 132 17.01.13 13:49 Сейчас в теме
(5) Istur,
так одно в страшном сне, другое - видимо, в прекрасном сне :)
7. Азбука Морзе 102 17.01.13 14:17 Сейчас в теме
(5) xotr не писатель, xotr читатель:)

п.с. В соседней ветке про XDTO целый цикл статей замутили, желающие могут ознакомится.
9. ARL 310 17.01.13 16:02 Сейчас в теме
Автор заслуживает громадное уважение за то, что самостоятельно разобрался с системой КД, т.к описание КД оставляет желать лучшего (мягко говоря). Но сейчас для программистов появился громадный помощник - курсы Гилева. Все подобные задачи на курсах выполняются в качестве домашнего задания, от "шаманства" ничего не остается.

(3) xotr, "На конкретном примере показал убогость и неестественность правил и приемов КД при обмене данными между разнородными системами."
На самом деле, это вопрос компетенции. Если разобраться с КД - то никакой убогости, вполне достойная и работоспособная система.
fomix; Bukaska; +2 Ответить
15. fomix 33 18.01.13 11:36 Сейчас в теме
(3) xotr, Интересно как в XDTO можно решить задачи по конвертации одного объекта в другой, получения из одного объекта двух и более, а также наоборот, настроить поиск и прочие фичи. Сдается мне у вас есть опыт тривиального обмена через XDTO между типовыми конфами в общем виде. Не помню, чтобы при использовании XDTO, можно было бы вмешаться в процесс формирования итогового файла выгрузки.
18. Азбука Морзе 102 18.01.13 13:11 Сейчас в теме
(15)formix
Синтаксис-помощник:
Механизм XDTO позволяет создать модель представления данных (модель типов и значений), которая, с одной стороны, обеспечивает возможность просто и естественно манипулировать данными в среде 1С:Предприятия 8, а с другой стороны, данная модель хорошо приспособлена для прозрачного преобразования данных в другие форматы, главным образом XML.

На практике достаточно:
1.создать модель документа "Ляляля" в базе приемнике

2.создадать и описать файл для записи данных в xlm-формате
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
НоваяЗаписьXML = Новый ЗаписьXML;
ФайлXML = ОсновныеПараметры.ФайлВыгрузки;
НоваяЗаписьXML.ОткрытьФайл(ФайлXML, ПараметрыЗаписиXML);
ЗаписьСообщения.НачатьЗапись(НоваяЗаписьXML, СтрокаТаблицыИнформации.УзелИнформационнойБазы);

// из описания типов фабрики XDTO выберем нужные для создания объектов
Фабрика = ФабрикаXDTO;
документыТип = Фабрика.Тип("http://www.lalala.ru", "Документы");
// дальше объектные реквизиты и табличные части
ЛяляляТип = ДокументыТип.Свойства.Получить("ляляля").Тип;
ТЧляляТип =ЛяляляТип .Свойства.Получить("ТЧляля").Тип;
ЭлементТЧляляТип =ТЧляляТип.Свойства.Получить("ЭлементТЧляля").Тип;

3.запросом получить все необходимые данные для заполнения ляляля-объекта

4. обработать выборку:
Документы = Фабрика.Создать(документыТип);
Пока Выборка.Следующий() Цикл
//создадим объект XDTO и заполним его
ЛяляляОбъект = Фабрика.Создать(ЛяляляТип);
ЗаполнитьЗначенияСвойств(ЛяляляОбъект, Выборка)
документыТип.ляляля.Добавить(ЛяляляОбъект);
КонецЦикла;
5. закончить формирование XML-файла

Фабрика.ЗаписатьXML(НоваяЗаписьXML, Документы);
ЗаписьСообщения.ЗакончитьЗапись();
НоваяЗаписьXML.Закрыть();
8. Yashazz 4489 17.01.13 15:53 Сейчас в теме
Да, это идея, полезная на практике. Ещё в 2008-м пользовался точно таким подходом, разве что между двумя восьмёрочными конфами. Спасибо автору, что подробно всё разжевали и показал, мне в своё время недосуг было.
10. Stepan_1c 17.01.13 16:07 Сейчас в теме
спасибо за статью) на пару дней пораньше бы еще лучше было) эээх)
11. DoctorRoza 17.01.13 19:55 Сейчас в теме
Хорошая статья, очень нужная информация! Плюс однозначно! :)
12. KliMich 18.01.13 01:54 Сейчас в теме
Спасибо! Наглядные и показательные примеры, когда надо "приготовить из ничего..."
13. IgorXml 707 18.01.13 09:36 Сейчас в теме
Спасибо. Наглядно сделал.
14. OVladius 32 18.01.13 11:30 Сейчас в теме
Где вы раньше были? Всех сотрудников с 7-ки руками фигачили :(
16. Boroda 90 18.01.13 12:28 Сейчас в теме
Отличная статья! Помогла разобраться в некоторых вопросах, где раньше тупил. Спасибо автору!
17. sa1m0nn 27 18.01.13 12:49 Сейчас в теме
Спасибо за статью, нормально написано, хоть и не ново.
Видать, стал я матёрым конвертатором, ничего не удивило)
20. AlexO 132 18.01.13 14:14 Сейчас в теме
(17) sa1m0nn,
нет, просто тут затронута сугубо узкая специфика.
И все делается кодом - все преимущества КД сведены только к выгрузке в XML.
19. AlexO 132 18.01.13 14:12 Сейчас в теме
Курсы - это когда дают знания, которые потом народ не знает, куда применить.
Все это делается более наглядным и быстрым способом - через DBF.
23. saiten 242 21.01.13 15:36 Сейчас в теме
(19)
Все это делается более наглядным и быстрым способом - через DBF.

Кому-то каменным топором удобнее, кому-то - станком с ЧПУ... Каждому своё.
26. AlexO 132 24.01.13 10:05 Сейчас в теме
(23) saiten,
ну конечно, чем непонятнее и замуторнее - тем лучше: и сам не понимаешь, что там делается, и коллеги ничего не разберут, но зато сколько таинственности и значимости... :)
А вот и слушатели под стать:
Человек, победивший КД, уже достоин уважения
28. saiten 242 24.01.13 16:39 Сейчас в теме
(26) Думаю, эта тема мусолилась уже достаточно, чтобы не поднимать её ещё раз. А непонятность, собственно, - вещь относительная.
31. vkr 102 29.01.13 08:10 Сейчас в теме
(19) AlexO
Да, Вы правы...
Через DBF все получается гораздо быстрее, прозрачнее и более управляемо.
Можно из одного большого выгруженного файла с кучей информации брать
по необходимости то, что сейчас нужно, а также делать преобразования
объектов "на лету". Причем, для совершенно разных, иногда очень слабо
совместимых конфигураций ( даже и не 1С-овских иногда :) )
Но, все равно, автору большое спасибо за подробное описание процесса !
21. Tishu 3 21.01.13 04:42 Сейчас в теме
Из всей неисчерпаемой как атом КД можно зазубрить один приём - в ПВД создается таблица значений по структуре совпадающей с объектом из Приемника и вызывается ПКО - и можно быстро решать массу одноразовых задач. Достаточно посмотреть примеры конвертаций из КД.
22. AlexO 132 21.01.13 10:42 Сейчас в теме
(21) Tishu,
"одноразовых" - это только создание в приемнике тех объектов, которых нет с источнике.
24. INSh 22 22.01.13 11:38 Сейчас в теме
Человек, победивший КД, уже достоин уважения :)
А еще этот человек не поленился и поделился своими достижениями!
Молодец! Плюс.
25. karakozov 24.01.13 09:50 Сейчас в теме
XDTO Конечно отличный механизм, и не буду защищать КД, но тем не менее очень часто нужно сделать обмен и очень быстро, правильно описать большие объемы по средствам XDTO это то же серьезная работа, особенно если меняешься между разными структурами метаданных или вообще между 77 -> 8.2 . Или еще усложним, из 8.2 в иные реляционные структуры с извесной нам структурой но не свойственной 1С источнику вообще по структуре МД.Имеет место быть в общмею
27. DieseL_OFF 24.01.13 10:33 Сейчас в теме
Эххх мне бы лучше другое
29. Sasha255n 25.01.13 15:48 Сейчас в теме
Спасибо очент необходимое и интересное ренение
30. Sasha255n 25.01.13 15:48 Сейчас в теме
Как алтернатива КД имеет место на существование спасибо
32. kurvik 29.01.13 15:08 Сейчас в теме
Очень интересное решение.В практических делах пригодиться,особенно если работаешь с разными структурами метаданных или вообще между 77 -> 8.2 надо делать переброску.
33. fnv 10.02.13 19:16 Сейчас в теме
Спасибо за информацию) Оч. сложные приемы конвертации, я бы через OLE, наверное, делала, если бы мне пришлось делать такой перенос)
34. Franchiser 47 04.04.13 14:16 Сейчас в теме
Нового ничего не узнал, но статья заслуживает уважения. Рекомендую прочитать методичку О. Кузнецовой, все эти моменты там есть.
Недостаток использования переменной ВыборкаДанных с моей точки зрения - слишком много написанного кода, не всегда наглядного. То есть чтобы понять как какой объект или свойство трансформируется нужно читать весь код в обрабочике "передобработкой" ПВД. Кроме того фильтры при выгрузке из 7.7 работать не будут.
В КД есть более эффективные и наглядные механизмы: использование переменных ВходящиеДанные и Исходящиеданные, а также КлючВыгружаемыхДанных, функции ВыгрузитьПоПравилу(). Возможно в этой задаче разница особенно и не заметна, но в основной массе задач, использование указанных мной переменных более оправдано.
38. Romany 02.03.15 20:08 Сейчас в теме
(34) Franchiser, Здравствуйте. Как раз разбираюсь с этими переменными, есть много вопросов. Так например задача такая - Для простоты будем считать, что конфигурации самописные, и разные по структуре. В источнике есть документ, в приемнике надо из этого документа создать два объекта 1) справочник. 2) РегистрСведенийЗапись. Пытаюсь сделать так. 1) ПКО - Документ ->Справочник,
2) ПКО Источника нет -> РегистрСведенийЗапись, ПКС - В приемнике - структура регистра (3 поля), стоит флаг "Получить из входящих данных". Далее в ПВД Документ. В обработчике "ПослеВыгрузки" запросом получаю таблицу движений документа, для переноса их в регистр сведений в приемнике. Тут же надо вызвать функцию "ВыгрузитьПоПравилу()", но вот сложности. В какие параметры, чего пихать, и как это вообще должно работать. То есть, можно ли в параметр ИсходящиеДанные записать таблицу значений (Выгрузку запроса) или создать выборку, и в цикле формировать структуру, и вызывать выгрузить по правилу. Скажу сразу, в моем случае, ни так ни эдак не работает. Обмен происходит по средствам типовой обработки обмена. Если не сложно расскажите в двух словах, как правильно с этим работать, и использовать.
35. &rew 35 26.06.13 07:19 Сейчас в теме
Да, статья полезная. Подобный способ сам использовал при переносе из самописной 7.7 в типовую УТ 10.3, кстати методичка Кузнецовой мне помогла.
Вообще КД интересная штука, иногда осознание того, как работает правило приходит только после создания этого правила.
36. &rew 35 26.06.13 07:20 Сейчас в теме
Кстати белый серого сейчас через бедро на иппон бросит.
Зеленоград; 1vasia1; +2 Ответить
37. echo77 1707 17.07.13 16:59 Сейчас в теме
(0) ИМХО, для каждого ПКС в ПГКС создавать обработчик:

Значение = ОбъектКоллекции.ИмяКолонкиТаблицыЗначений


не надо
vermouth; +1 Ответить
39. ultrannge89 24.06.15 14:58 Сейчас в теме
Добрый день. А есть ли возможность отследить в событии после загрузки, попал ли определенный документ в выгрузку? Мне важно знать есть ли в файле, другой документ по такому же договору как мой, только с другим видом... Не могу нигде найти(
40. Pirat-37 4 06.07.15 16:03 Сейчас в теме
(39) ultrannge89, через [Сообщить()] выводите, в событии [При загрузке].
41. nems 22.09.15 17:29 Сейчас в теме
Здраствуйте! Подскажите, плиз, как перенести справочник Номенклатура по отбору
ВходящиеДанные = Новый Структура;

	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ТоварыОрганизацийОстатки.Номенклатура
		|ИЗ
		|	РегистрНакопления.ТоварыОрганизаций.Остатки КАК ТоварыОрганизацийОстатки
		|ГДЕ
		|	ТоварыОрганизацийОстатки.КоличествоОстаток > 0";

	Результат = Запрос.Выполнить();

	Выборка = Запрос.Выполнить().Выгрузить();
	
	
	ВходящиеДанные.Вставить("НоменклатураТабл", Выборка);
	
	ВыгрузитьПоПравилу(,,ВходящиеДанные,,"Номенклатура1")
Показать


Выгрузка проходит успешно.

Но есть проблема: Как правильно задать ПКО и ПКС ?
Прикрепленные файлы:
42. Kvitka_ru 14.06.17 12:30 Сейчас в теме
Спасибушки! безценная консультация!!
43. echo77 1707 30.04.19 08:59 Сейчас в теме
Обычно весь выгружаемый объект формируют в ПВД, а не в ПКГС и разных местах.
44. SergeMalikov 571 03.05.19 12:38 Сейчас в теме
(43) Да. Можно было бы сформировать в ПВД структуру соответствующую объекту в приемнике и передать нужному ПКО. Это был бы более наглядный вариант.
Оставьте свое сообщение

См. также

Особенности работы с COM-соединением

Обмен между базами 1C Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Бесплатно (free)

О чём и зачем данная статья? Казалось бы, что написано об этом соединении очень много, да и технология устаревшая... И мне так раньше казалось! Однако, столкнувшись с необходимостью на двух проектах подряд работать с этой технологией, стало понятно, что описание трудных ситуаций или отсутствует, или есть только на форумах, что крайне неудобно! Поэтому особенности работы с COM соберу в одном месте, чтоб не искать в будущем.

22.02.2023    4214    biimmap    71    

58

Добавление своего нового объекта в синхронизацию данными через универсальный формат Enterprise Data

Обмен между базами 1C Платформа 1С v8.3 Бесплатно (free)

Добавление своего нового объекта в синхронизацию данными через универсальный формат Enterprise Data, не снимая (или снимая) конфигурацию с поддержки.

27.01.2023    1997    alexey_kurdyukov    5    

42

Ни в ЗУП ногой!? А мне нравится! Часть 4. Главное - правильный перенос данных!

Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 2.5 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Бесплатно (free)

Ни для кого не секрет, что ЗУП - одно из сложнейших решений в линейке 1С. Многие разработчики и аналитики не любят им заниматься. Тяжело представить, чтобы начинающий разработчик/аналитик стал по доброй воле работать в сфере управления персоналом и расчета заработной платы. В данной серии статьей будет рассказано, какие видятся плюсы в этом решении и как справляться с его минусами. Кратко расскажу, как встать на этот путь, приведу примеры выполненных задач.

30.05.2022    5141    biimmap    26    

54

Переход с УПП на ERP с сохранением документов. Фантастика или реальность?

Внедрение ИТ-системы Обмен между базами 1C Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бесплатно (free)

В последнее время задача перехода с УПП становится все более актуальной. Причина – ожидаемое снятие УПП с поддержки и более продвинутые возможности последних версий конфигураций 1С. О том, какие методики переноса данных из УПП в ERP можно применить, и как в автоматическом режиме убедиться, что все перенеслось корректно, на конференции Infostart Event 2021 Moscow Premiere рассказал Сергей Сорокин.

28.04.2022    3179    primat    2    

23

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Выполнение синхронизации (обмен) по событию 1С (двусторонний обмен)

Обмен между базами 1C Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление нашей фирмой 1.6 Бесплатно (free)

Выполнить синхронизацию(обмен) с другой базой 1С по событию в 1С (проведение документа). Запустить синхронизацию из другой базы 1С.

16.11.2021    4323    Swamt    0    

21

Что делать, когда обмены между разными базами данных портят вам жизнь…

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Если при обмене между базами данных наблюдаются следующие симптомы: • Процедуры обмена занимают неприемлемо много времени. • Процессы обмена периодически вылетают «по ошибке» и их приходится запускать заново. • Поиск ошибок обмена превращается в ужасающий квест. То, скорее всего вы используете конфигурацию «Конвертация данных». А если при этом вам надоело получать сообщения службы поддержки о новых ошибках и вы бережете свои нервы, то данная статья написана прямо для вас. Чуть ниже я расскажу вам, как навсегда забыть проблемы, связанные со словом "обмен".

10.09.2021    3211    director04    9    

20

Описание формата 1С JDTO (JSON data transfer object)

Обмен между базами 1C Платформа 1С v8.3 Бесплатно (free)

Формат 1С JDTO может быть полезен для интеграции информационных баз 1С между собой, а также 1С с внешними системами. Публикация имеет своей целью помочь в освоении этого формата для обмена данными.

16.07.2021    10770    zhichkin    32    

94

Добавление нового документа в формат обмена EnterpriseData (получение)

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Данная статья - логическое продолжение (ссылка на первую часть ниже) доработки обмена, но уже на стороне базы приемника.

27.04.2021    2758    con-men    2    

15

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Добавление нового документа в формат обмена EnterpriseData (отправка)

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Для меня встала задача добавить новый документ, созданный в расширении, в формат обмена EnterpriseData, между БП - УНФ. Изначальный поиск решения не дал результата. Методом проб и ошибок у меня сформировалось свое решение, которым спешу поделиться, чтобы систематизировать информацию в текст и услышать плюсы, минусы подхода. Все доработки осуществляются в расширении, в котором и был создан новый документ.

21.04.2021    5439    con-men    7    

54

Правила обмена больше не нужны

Внешние источники данных Обмен между базами 1C WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    18965    Nikola23    40    

79

R.I.P. РИБ

Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

РИБ, спасибо и до свидания.

19.02.2021    13394    1c-intelligence    133    

69

Архитектурное решение интеграции баз 1С с использованием брокера сообщений Rabbit MQ

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При решении задач интеграции баз данных можно использовать различные средства «транспорта» сообщений. Одним из таких механизмов является брокер сообщений «Rabbit MQ». Такие механизмы очередей сообщений удобно использовать для организации обмена между информационными системами с различной структурой данных, когда велик объем передаваемой информации и требуются гарантии успешной доставки сообщений, а также когда поддержание работоспособности иных способов передачи, например через файлы, становиться слишком трудоемким. Брокер сообщений Rabbit MQ широко описан в сети, но 1С пока не имеет штатных механизмов работы с ним, поэтому их приходится дорабатывать. Рассмотрим пример архитектуры 1С с его использованием.

12.02.2021    4118    Koder_Line    6    

13

Перенос данных из ЗУП 2.5 в ЗУП 3.1

Зарплата Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 2.5 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Бесплатно (free)

Довольно часто сталкиваюсь с тем, что у коллег возникает вопрос, как правильно выполнить перенос данных из ЗУП 2.5 в ЗУП 3.1. (Неужели еще кто-то до сих пор работает в ЗУП 2.5? Да, и очень много людей)

25.01.2021    17402    VAAngelov    83    

64

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Перенос документов 1С из одной базы в другую

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Здравствуйте, коллеги! В своей практике работы с 1С для решения задач бизнеса мне неоднократно приходилось применять инструменты переноса документов 1С из одной базы в другую, причем работать приходилось как с однотипными конфигурациями, так и с разными. Этим интереснейшим опытом я и поделюсь в данной статье.

23.01.2021    57105    Koder_Line    16    

12

Объединение баз ЗУП

Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Бесплатно (free)

Есть база ЗУП 3.1, в которой ведется одна организация, все данные из нее нужно перенести в общий ЗУП, обе базы типовые. Используем для переноса КД 2.0.

10.01.2021    5502    roger83    5    

22

Неожиданное использование XDTO

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Расскажу про свой опыт, как XDTO может помочь в отладке обменов данных. И какие полезности можно почерпнуть для себя при работе с XDTO.

05.12.2020    3904    simon_sidoruk    22    

15

XDTO на службе надежности обмена

Обмен между базами 1C Платформа 1С v8.3 Бесплатно (free)

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

28.09.2020    2168    m_kislyak    4    

11

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Лайфхаки конвертации данных 2.1 (часть 2)

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной статье будут рассмотрены десять приемов работы с конвертацией данных 2.1. Указанные приемы явно не описываются в документации (справке), но их полезно знать и применять. Для наглядности приёмы работы сопровождаются описанием реализации и практическими примерами.

14.09.2020    30144    Shining_ninja    19    

115

Восстановление узла РИБ по магазинам на примере 1С:Розница 2.3.4

Обмен между базами 1C Платформа 1С v8.3 1С:Розница Россия Бесплатно (free)

После очередного обновления узла РИБ столкнулся с ошибкой, РИБ перестал работать. Начитался много статей про восстановление РИБа, ни одна толково не помогла. Поэтому не мытьем, так катанием сам разобрался, как же быстро восстановить РИБ, чтобы он заработал.

15.06.2020    15846    maxon    15    

21

Конвертация данных 2. Использование подключаемых обработок в правилах обмена. Конвертация дерева значений

Обмен между базами 1C Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

Разработка правил обмена с использованием подключаемых обработок. В качестве примера рассмотрена реальная задача конвертации дерева значений.

15.06.2020    8906    Drivingblind    10    

70

Конвертация данных 2.1. Методика переноса остатков

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Бесплатно (free)

В данной статье я приведу пример использования базовой методики конвертации данных для переноса остатков из одной информационной базы в другую.

12.06.2020    21307    aximo    23    

94

Лайфхаки конвертации данных 2.1

Обмен между базами 1C Платформа 1С v8.3 1С:Конвертация данных Россия Бесплатно (free)

В данной статье будут рассмотрены десять приемов работы с конвертацией данных 2.1. Указанные приемы явно не описываются в документации (справке), но их полезно знать и применять. Для наглядности приёмы работы сопровождаются описанием реализации и практическими примерами.

07.06.2020    25061    Shining_ninja    13    

145

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Как мы РИБ на веб-сервисы переводили

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Решение проблем обмена РИБ с 10+ баз с помощью веб-сервисов и базы обмена.

13.05.2020    6963    RSConsulting    22    

29

Механизм XDTO

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

12.05.2020    8405    totchaz    4    

55

Интеграция БИТ:СКУД с типовой конфигурацией

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Интеграция БИТ:СКУД с типовой конфигурацией, обновление БИТ:СКУД в составе конфигурации и отдельно. Обновление системы защиты.

26.04.2020    7666    RPGrigorev    0    

109

Механизмы проведения документов при обмене по универсальному формату

Обмен между базами 1C БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.

04.03.2020    8811    partizand    7    

49

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Установка расширений конфигурации, модифицирующих структуры данных, в фоновом задании запрещена

Обмен между базами 1C Платформа 1С v8.3 Бесплатно (free)

Вариант решения проблемы синхронизации узла при передаче изменений метаданных расширения, используемого в распределенной информационной базе.

20.02.2020    6063    fristaller    7    

13

Конвертация данных 2. Использование исходящих и входящих данных. Свойство "Получить из входящих данных"

Обмен между базами 1C Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

Разработка правил обмена с использованием исходящих и входящих данных. В качестве примера рассмотрена реальная задача конвертации номенклатуры через регистр сопоставления номенклатур. Статья предназначена в первую очередь для тех, кто только начинает осваивать Конвертацию данных.

17.02.2020    42501    Drivingblind    37    

122

Бесшовная интеграция через обмен по правилам - миссия выполнима

Обмен между базами 1C Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 Бесплатно (free)

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    9186    e-9    8    

37

Как сделать обмен данными через универсальный формат быстрее? Реализация многопоточного обмена данными

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

31.12.2019    11325    ids79    17    

47

Заметки по Конвертации данных 3.0

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Написал небольшие заметки по конвертации данных 3.0.

18.11.2019    27874    John_d    20    

184

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Обсудим планы обмена. Способы регистрации объектов к обмену

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

16.11.2019    72906    aximo    47    

87

Простой пример кода для работы с переносом данных (ЗУП)

Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Задача: необходимо выделить сумму районного коэффициента для выставления проводок, приходящегося на "Премию к празднику".

13.11.2019    6506    aaguselnikova    4    

13

Конвертация ставок НДС: из Перечисления в Справочник (правила обмена в конвертации 2.0)

Обмен между базами 1C Платформа 1С v8.3 1С:Конвертация данных Россия НДС Бесплатно (free)

При написании правил обмена между "более старой" и "более новой" конфигурациями можно столкнуться с тем, что в одной конфигурации ставки НДС - это перечисление, а в другой - справочник (или наоборот, но мой пример именно из перечисления в справочник). Ситуация несложная, но нестандартная, поэтому выкладываю работающий пример, может, кому пригодится.

09.11.2019    11544    vikulinamari    10    

12

И снова "Конфигурация узла распределенной ИБ не соответствует ожидаемой"

Обмен между базами 1C Платформа 1С v8.3 Бесплатно (free)

Конфигурация узла распределенной ИБ не соответствует ожидаемой. Приведен очередной способ устранения этой ошибки, возникший не в результате сбоев в работе оборудования или при обмене, а в результате обновления платформы 1С.

05.11.2019    7954    Kobra_RU    11    

23

Конвертация данных из 1С 8.3 в 7.7 (версия КД 2.1). Перенос данных из 8.3 в 7.7. Создание в современной 1С 8.3 XML в формате КД2. Инструкции и примеры переноса данных из любой современной 1С 8.3 в устаревшую конфигурацию 1С 7.7, через Конвертацию данных 2

Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

При переходе на новую версию 1С в период параллельной эксплуатации может возникнуть необходимость обратной конвертации данных (по правилам КД версии 2.1) из 1С:Предприятие 8.3 в 1С:Предприятие 7.7 для переноса данных из 1С:Предприятие 8.3 в 7.7. Сделать это поможет следующая инструкция по КД2 о том, как создать новую конвертацию из 8.3 в 7.7, сохранить модуль и правила загрузки данных, сделать загрузку данных. КД2.

17.10.2019    12323    ksnik    0    

13