1С:Конвертация данных: Способ переноса дерева элементов справочников между разнородными конфигурациями.

23.06.08

Разработка - Математика и алгоритмы

Данная задача возникает когда необходимо перенести справочники между конфигурациями у которых различается количество уровней. Например, количество уровней в справочнике "Номенклатура" в конфигурации "Торговля и Склад" - 5, а в конфигурации "Бухгалтерия" - 4. Самое простое решение - отбросить реквизит "Родитель" элементов справочника при выгрузке, но есть способ элегантнее. В данном случае мы не обсуждаем возможность изменения структуры справочника в базе-приемнике конфигурации "1С:Бухгалтерия".

Данная задача возникает, когда необходимо перенести справочники между конфигурациями у которых различается количество уровней (например, количество уровней в справочнике "Номенклатура" в конфигурации "Торговля и Склад" - 5, а в конфигурации "Бухгалтерия" - 4).

Самое простое решение - отбросить реквизит "Родитель" элементов справочника при выгрузке, но есть способ элегантнее. В данном случае мы не обсуждаем возможность изменения структуры справочника в базе-приемнике конфигурации "1С:Бухгалтерия".

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

Итак, как избавиться от подгруппы уровня №4? Разделим все множество элементов справочника на два множества:

  1. находящиеся на уровне 5,
  2. и находящиеся на уровне меньше 5-го.

Для этих двух групп создаем правила выгрузки:

Пятый уровень иерархии (вернее более четвертого)...

...и

Уровень иерархии 4 и меньше.

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

...и:

Для элементов, которые удовлетворяют первому правилу (уровень оказался менее 5) состав правила конвертации объекта обычен, в части конвертации реквизита "Родитель":

А для элементов с уровнем более 5 преобразуем реквизит "Родитель":

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

Дополнение: Хотя, конечно, данное решение имеет и свои недостатки. Например, если мы выгружаем какие-либо документы имеющие реквизит "Номенклатура" - придется явно указывать по какому из двух правилу конвертировать данный реквизит, а для этого предварительно вычислять его уровень. Это же верно и для случая, когда выгружаем элементы переданные в качестве параметра форму выгрузки.

См. также

Перенос данных 1C Программист Бухгалтер Платформа 1С v8.3 Оперативный учет 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

Переносится из типовой конфигурации «Торговля и Склад», реакции 9.2 платформы «1С:Предприятие 7.7» в типовую конфигурацию «Бухгалтерия предприятия», редакции 3.0 платформы «1С: Предприятие 8.3» следующие документы и их операции (с соблюдением всех соответствующих проводок): Поступления товаров и услуг (в т.ч. комиссия), Реализации товаров и услуг (в т.ч. комиссия), ПКО и РКО, выписки банка, счета фактуры (выданные и полученный), Возвраты от покупателей и поставщику, Заявка Покупателя, Инвентаризация и другие (всего 28 видов документов, смотрите описание, приложенное к обработке)

13188 руб.

30.06.2014    65917    109    107    

116

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

6000 руб.

18.05.2020    24034    70    39    

43

Файловый обмен (TXT, XML, DBF), FTP Учет документов Распознавание документов и образов Бухгалтер Пользователь Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 1C:Бухгалтерия 1C77 Россия Платные (руб)

Программный комплекс способный распознавать сотни листов за раз любых сканированных(фото) документов (УПД, ТОРГ12, СФ, паспорт и пр.) и загружать их в любую 1С (БП3.0, УТ, КА, УНФ, УПП, 1С7.7 ТиС, ЗУП3 и пр.), а также формировать архив сканированных документов.<br> Робот применяет до 5 способов распознавания. Максимальное качество загрузки документов из бесплатных OCR. Работает без Интернета.

10800 руб.

13.10.2022    8648    1    12    

9

Файловый обмен (TXT, XML, DBF), FTP ЭДО и ОФД Программист Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 1.6 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет Абонемент ($m)

Обмениваемся УПД (УКД) с различными контрагентами через СБИС. А чтобы загрузить УПД (УКД) из 7.7 в Сбис, используем данную обработку, которая создает файл в формате XML, который можно импортировать в систему электронного документооборота. Для конфигурации "Бухгалтерский учет" (тестировалась на релизе 7.70.663) Для конфигурации "Упрощенная система налогообложения" ( тестировалась на релизе 7.70.305) Для конфигурации "Торговля и Склад 7.7" (тестировалась на релизе 7.70.1007)

1 стартмани

31.07.2021    17314    279    AndKovalchuk    61    

18

Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 1С:Управление торговлей 10 1С:Комплексная 7.7 Россия Управленческий учет Платные (руб)

Начните вести учет в УТ 10.3! Перенесите все свои данные в УТ 10.3 в любом месяце года и продолжите вести учет! Программа перенесёт любое количество баз с документами и остатками в больших количествах. Обработка выгрузки выполнит проверку исходных данных и сформирует отчет о найденных ошибках в справочниках и документах. Партии переносятся с себестоимостью. Штрихкоды номенклатуры загружаются. Цена переносится. Автор консультирует.

8400 руб.

17.03.2021    16126    5    13    

6

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

Как известно, Бухгалтерия 7.7 не имеет штатной возможности для обмена с ЗУП 3.1. Данная разработка пригодится тем, кто перешел с ЗиК 2.3 на ЗУП 3.1, но вынужден по каким-то своим причинам оставаться на Бухгалтерии 7.7.

18000 руб.

29.09.2020    13957    2    0    

5

SALE! 10%

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Бухгалтерия 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0 | Продукт является развитием и исправлением ошибок стандартной обработки для выгрузки данных из 1С Бухгалтерии 7.7 в Бухгалтерию 3.0 | Перенос из 7.7 является сложным, и на рынке сложно найти специалистов 1С по "семерке" - сотрудники помогут вам выполнить переход в рамках техподдержки предлагаемого переноса данных!

55778 50200 руб.

26.05.2020    35430    10    75    

16

Перенос данных 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    15672    ksnik    0    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ЛохНесс 150 23.06.08 13:10 Сейчас в теме
Фигасе статью сократил. ;-) В результате, утерян смысл предложенного решения.

По сути - изобретен велосипед. Достаточно посмотреть в типовые правила и увидеть простое решение.
В ПКА "Родитель --> Родитель" написать скрипт:
Код
Родитель = Источник.Родитель;
Если ПустоеЗначение(Родитель) = 1 Тогда Возврат (0) КонецЕсли;
Пока Родитель.Уровень() > 3 Цикл
    Родитель = Родитель.Родитель;
КонецЦикла;
Возврат(Родитель);
Показать полностью


При таком решении, разница между количеством уровней справочников может быть больше одного.
Светлый ум; skurser; begemot; asc; +4 Ответить
Оставьте свое сообщение