IE2017

Изменение префиксов в коде, номере объектов

Обработки - Обработка документов

Работали, работали и вдруг захотелось сделать синхронизацию с другой базой. Как проставить у объектов префиксы теперь?

Была задача:

Настроить обмен из двух баз Бухгалтерии, где уже ведется обмен, в одну базу УТ.

Проблема:

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

Решение:

Проставить у существующих объектов префикс базы.

 

Для этого была разработана обработка, которая работает по следующему принципу:

- Проходится по подпискам, которые отлавливают события При установке нового кода или номера

- Из этих подписок извлекается обработчик этих событий

- Выбираются источники подписок (т.е. объекты, у которых отлавливается событие)

В обработке выводится список объектов, у которых выполняется отлов установки номера.

Галочками проставляем объекты, которые хотим обработать.

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

Если у объекта уже установлен данный префикс, то он пропускается.

После обработки у объектов будет стоять префикс, который запланирован был. При этом порядковый номер сохраняется.

Пример:

В конфигурации Бухгалтерии создана подписка "УстановитьПрефиксИнформационнойБазыОрганизацииПодразделенияНомеруДокумента" на событие при установке нового номера для документа "Реализация товаров и услуг"
В документе указан организация "Рога и копыта" (префикс = РР)
Документ имеет номер РР00-000006
В базе не было установлено синхронизации данных, поэтому префикс базы пустой, т.е. 00
Нам нужно сделать синхронизацию и устанавливаем префикс базы "ШШ"
А что делать со старыми доками? Они же сами не переформируются
Обработка пройдется по каждой реализации и выполнит процедуру, которая обрабатывает подписку "УстановитьПрефиксИнформационнойБазыОрганизацииПодразделенияНомеруДокумента"
Процедура "ПрефиксацияОбъектовБПСобытия.УстановитьПрефиксИнформационнойБазыОрганизацииПодразделения"
В результате выполнения процедуры получит префикс, который должен был получиться для этого документа
В нашем случаи был изменен префикс базы, и префикс документа теперь должен быть "РРШШ"
Так как префикс документа и нового не совпадают, то обработка изменит его на РРШШ и перезапишет документ.
В результате обработки документ будет иметь номер "РРШШ-000006"

Обработка обкатывалась на конфигурации: Бухгалтерия 3.0 релиз 3.0.34.18

Обрабатывает типы Справочник, Документ

Скачать файлы

Наименование Файл Версия Размер
Изменение кодов объекта
.epf 9,46Kb
04.02.15
59
.epf 1 9,46Kb 59 Скачать

См. также

Комментарии
1. Константин Юрин (kostyaomsk) 71 06.02.15 06:26 Сейчас в теме
Возникали такие задачи. Проще, конечно у новых объектов подписку сделать, а все остальное что было обработкой "переделать".
Жаль что просто не получится настроить перенос, если в разных базах у большинства номенклатуры не совпадают ни коды ни наименования :( Тут уже обработки не помогут.
2. Антон Антонов (monkbest) 28 06.02.15 10:07 Сейчас в теме
Интересны и сложный путь:) я бы с ИТС обработку справочников и документов взял и для каждого справочника запустил бы перенумерацию.
3. Allexey (alex_4x) 72 06.02.15 13:07 Сейчас в теме
А как меняется номер у уже проведенных документов ?
Они перепроводятся ?
4. Александр Большаков (BACbKA666) 35 06.02.15 13:17 Сейчас в теме
(3) alex_4x, Нет.
Изменение документов идет используя флаг ОбменДанными.
Чтобы не проводились проверки и переформирование движений документа.
5. Александр Большаков (BACbKA666) 35 06.02.15 13:20 Сейчас в теме
(2) monkbest, Честно отвечу, что не знал об этой обработке. :))
Но могу сказать, что моя обработка отличается тем,что учитывает все созданные подписки.
Т.е. к примеру у меня измененная конфигурация и для кассы свой префикс формируется.
Соответственно создана дополнительная подписка,которая полностью меняет префикс, который сделал типовой механизм.
Скорее всего типовая обработка не учтет данные доработки конфигурации.
6. Михаил Зотов (ZOMI) 472 07.02.15 18:53 Сейчас в теме
Никакой помощи в синхронизации/ Это помощник создания дублей элементов в базах. Если встает задача начать обмен между двумя базами - то правильно эта задача решается по другому после оценки масштабов расхождений Ну а за такой замысловатый велосипед мне бы было бы стыдно у клиента денег просить - когда есть типовая обработка перенумерации.
7. Александр Большаков (BACbKA666) 35 09.02.15 09:20 Сейчас в теме
(6) ZOMI,

На мой взгляд если рассматривать следующую ситуацию
Есть три базы:
1 Бух Организация 1 - ведется учет
2 Бух Организация 2 -ведется учет
3 УТ - чистая база

в базе №1 есть отражение з/п 000000010 на сумму 1000 руб
в базе №2 есть отражение з/п 000000010 на сумму 1300 руб

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

Тогда в результате синхронизации документ из базы №2 затрет документ из базы №1, а должны быть два документа.

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

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

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

Если Вы со мной не согласны, то пожалуйста напишите мне на примере в какой ситуации возникнут дубли, чтобы я понимал, как нельзя использовать обработку.
forsagforsag; +1 Ответить 1
8. Михаил Зотов (ZOMI) 472 09.02.15 10:36 Сейчас в теме
(7) BACbKA666,

Пример
1-я база УТ
2-я база БП
Учет по одной организации, префиксов нет.
Нужен обмен после начала учета в обеих базах

Предположим, что примерно состав справочников Номенклатура, Контрагенты и т.д. совпадают.
У каких-то элементов коды совпадают - у каких-то нет.

Ваш способ насоздает при переносе дубли элементов справочников в базе-приемнике. Что-тут непонятного?
9. Александр Большаков (BACbKA666) 35 09.02.15 17:11 Сейчас в теме
(8) ZOMI,
Я с вами согласен.
Но согласны ли Вы с тем, что все зависит от правил обмена?
Если рассматривать типовые правила обмена, то большая часть справочников синхронизируется по наименованию.
Например справочник Номенклатура это наименование, артикул, группа
Это первое, что приходит в голову
Второе, это совпадение кодов. Ну не могу я представить, что пользователи ручками задают коды там и там одинаково.
Конечно можно рассмотреть, что они создали номенклатуру в базе №1 и в базе №2 сразу же.(тогда нумерация присваивает коды одинаково, так как она последовательна)
Но это не всегда так.

В любом случаи надо проводить анализ.

11. Александр Александров (forsagforsag) 67 24.07.16 13:39 Сейчас в теме
(6) ZOMI,
А мыслить шире? Не пробовали? Если Вы добавите что эта обработка не помощник ВАМ, то возьму слова обратно.
Обработку с ИТС любой студент возьмет.
А вот у нас более 20-ти баз. В общих справочниках наберется не более 50-ти элементов. А вот перенумеровывать каждый тип вручную ИТС-вской обработкой - мама не горюй...
Разгребать где что когда в нумерации в каждой базе - тоже ну его, тут обработка эта как раз кстати.
Так что народ - расширяйте свой кругозор :))
Автор - нормально. ;)
12. Александр Александров (forsagforsag) 67 24.07.16 17:30 Сейчас в теме
(9) BACbKA666,
Контора торгует тракторами и прицепами - много ли у них номенклатуры? Ответ очевиден НЕТ.
Оставьте свое сообщение