Загрузка документов из БП 2 в БП 3









Внешняя обработка для загрузки документов из БП 2 в БП 3. Создана на управляемых формах, выполняется на стороне приемника в БП 3. Позволяет загружать документы интерактивно, справочники, записи регистров

Сокращения

БП 2 – конфигурация «Бухгалтерия предприятия» релиз 2.0

БП 3 – конфигурация «Бухгалтерия предприятия» релиз 3.0

КД – конвертация данных

Является развитием моей публикации //infostart.ru/public/560562/, с другим типом источника — БП 2.

 

Что доработано:

 

  1. В терминах КД, изменены и добавлены правила конвертации объектов для загрузки объектов БП 2

  2. Загрузка организации, если она еще не введена в базе приемнике

  3. Ограничение загрузки других организаций и их объектов

  4. Ограничение загрузки документов по дате документа

  5. Более гибко решена проблема зацикливания (решение основано на определении ссылки объекта до его записи)

  6. Корректная загрузка предопределенных объектов.

  7. Доработан механизм определения прав доступа пользователям.

  8. Зачищен код от излишеств: удалено регламентное задание и удалена посылка сообщений на почту

  9. Добавлена загрузка 2-х документов «перевертышей». «Реализация товаров и услуг» в источнике как «Поступление товаров и услуг» в приемнике «Возврат от покупателя» в источнике как «Возврат от поставщика» в приемнике. Это когда в источнике в документе организация выступает как контрагент, контрагент как организация. Оставил для примера кому надо.

 

Какие преимущества, на мой взгляд, от КД:

 

  1. Не надо обновлять базу источника

  2. Проще ограничить загрузку «мусора»

  3. Гибкость

    • Можно как угодно настроить интерфейс отбора объектов загрузки

    • Можно как угодно выводить сообщения процесса/результата загрузки

    • Проще вносить изменения

 

Нюансы данной реализации:

 

При загрузки не предопределенных счетов, могут быть загружены не предопределенные планы видов характеристик. Поскольку планы видов характеристик имеют реквизит с типом «Тип» и поскольку по COM технологии 1С нет возможности сравнить типы, то в общий глобальный модуль базы источника необходимо добавить 2 обобщенные функции. Экспортную функцию COMПолучитьТип() и ПолучитьТипЗнч(). Если в источнике используются только предопределенные визы характеристик, то эти функции добавлять не надо, ошибки не будет.

Функция COMПолучитьТип(_Тип) Экспорт

Если _Тип = Тип("Число") Тогда
Возврат "Число";
ИначеЕсли _Тип = Тип("Строка") Тогда
Возврат "Строка";
ИначеЕсли _Тип = Тип("Дата") Тогда
Возврат "Дата";
ИначеЕсли _Тип = Тип("Булево") Тогда
Возврат "Булево";
Иначе
Ссылка = Новый(_Тип);
ИмяТипа = ПолучитьТипЗнч(ССылка);
Возврат ИмяТипа;
КонецЕсли;

КонецФункции

Функция ПолучитьТипЗнч(Ссылка)

Если Ссылка = Неопределено Тогда
Возврат "Неопределено";
КонецЕсли;

XMLTypeOf = XMLTypeOf(Ссылка);

Попытка
ИмяТипа = XMLTypeOf.TypeName;
Исключение
Попытка
ИмяТипа = XMLTypeOf.ИмяТипа;
Исключение
Возврат "Неопределено";
КонецПопытки;
КонецПопытки;

//тип объекта

ИмяТипа = СтрЗаменить(ИмяТипа, "Catalog", "Справочник");
ИмяТипа = СтрЗаменить(ИмяТипа, "Document", "Документ");
ИмяТипа = СтрЗаменить(ИмяТипа, "Enum", "Перечисление");
//РегистрыСведений (InformationRegisterRecordSet)
ИмяТипа = СтрЗаменить(ИмяТипа, "InformationRegister", "РегистрСведений");
ИмяТипа = СтрЗаменить(ИмяТипа, "ChartOfAccounts", "ПланСчетов");
ИмяТипа = СтрЗаменить(ИмяТипа, "ChartOfCharacteristicTypes", "ПланВидовХарактеристик");

//вид ссылки
ИмяТипа = СтрЗаменить(ИмяТипа, "Ref", "Ссылка");
ИмяТипа = СтрЗаменить(ИмяТипа, "Object", "Объект");
ИмяТипа = СтрЗаменить(ИмяТипа, "RecordSet", "Запись");

Возврат ИмяТипа;

КонецФункции

 

Тестировалась в конфигурациях Бухгалтерия предприятия, редакция 2.0.66.66, Бухгалтерия предприятия, редакция 3.0.70.33 на платформе 1С:Предприятие 8.3.12.1790.

 

В новой версии 1.1: Отлажена загрузка документа "Корректировка поступления"

 

3 Comments

  1. Светлый ум

    Симпатичнее чем у первоисточника + 1

    Reply
  2. victor_k

    (1) Что за намеки(. Если пишите о плагиате, то указываете публикацию «первоисточника»… Попробуйте сделать простой интерфейс на УФ с данной функциональностью, получите похожую форму. Как обычно у нас смотрят на морду (форму), а не на содержание. Цена в фишке алгоритма данной обработки. Скачайте и увидите оригинальность)). Смотрите описание моей публикации //infostart.ru/public/560562/, на которой основан алгоритм данной обработки

    Reply
  3. Светлый ум

    (2) Никаких намеков)

    — это я так похвалил интерфейс, сам пишу сейчас мастер загрузки с разными видами данных: искал чем вдохновится.

    а первоисточник у вас в публикации стоит //infostart.ru/public/560562/, там допотопный интерфейс.

    К вам никаких вопросов по плагиату. (сразу не увидел что и она ваша)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *