УРБД за 4 шага

1. Евгений Гайдайчук (evgaid) 141 19.04.12 06:27 Сейчас в теме
Привет всем, подскажите такой нюанс, делаю УРБД для самописной конфы согласно статьи http://kb.mista.ru/article.php?id=7, но блин возникает один нюанс в данной статьи не прописано или недописано то, что коды справочников и номера документов становятся не уникальными. Кто-нибудь делал такое или может есть другие статьи??? Кто-нибудь допиливал, помогите кто делал!
Ответы
2. Сергей Сергеевич (onyx) 20 19.04.12 06:46 Сейчас в теме
Для этого в типовых конфигурация используется Константа "Префикс ИБ", она и отвечает чтоб во всем РИБ коды справочников и номера документов были уникальными.
3. Евгений Гайдайчук (evgaid) 141 19.04.12 07:09 Сейчас в теме
Эт я понимаю, но ведь я млгу взять и префикс (код) распределенной БД, но вот сам функционал.
4. archikg@rambler.ru Келлер (Archikg) 19.04.12 07:25 Сейчас в теме
я настраивал обмен по этой статье, но не совсем понял о чем речь
если у тебя обмениваются два узла, то в любом случае второй узел, если разрешен обмен данным справочником, к примеру, получит объект из первого узла с таким же кодом. Если я правильно понимаю, то объекты с одинаковым именем или кодом раздваиваются, дело в том, что у них разные внутренние идентификаторы, поэтому база допиливает и вторые. Данную проблем можно решить через обмен по правилам обмена, чтобы поиск объектов в базе приемнике был не по внутреннему иден-ру, а по наименованию или коду, раз он уникальный, также можно исключить из обмена перенос кода объекта, следовательно база приемник будет сама присваивать новый код полученному объекту

сам от этой статьи отказался. Была попытка настроить обмен через почту mail.ru, но возникло много сложностей, из-за которых перешел на идею обмена через собственный ftp-ресурс
5. Евгений Гайдайчук (evgaid) 141 19.04.12 08:01 Сейчас в теме
(4) я просто хотел кпримеру чтобы все коды в основной начинались на к примеру О, а в периферийной на П. По внутреннему, т.е. если не переносить код, как он будет знать что такой уже есть.
6. archikg@rambler.ru Келлер (Archikg) 19.04.12 08:40 Сейчас в теме
если создать элемент справочника в одном узле с префиксом О, то при обычном обмене, куда и относится данная статья, в центральную попадет этот же элемент с префиксом О, а если в обратную сторону, то в первый узел попадет с префиксом П... если же делать через правила обмена и исключить из обмена код справочника, а поиск при обмене делать по наименованию, то в одном узле будет О, а в другом П, потому что база сама будет добавлять свои префиксы при загрузке данных без кодов
7. dvv01 (dvv01) 116 19.04.12 09:23 Сейчас в теме
А почему бы не взять уже готовый полный план обмена со всеми модулями и формами из типовой конфы? В котором только отключить ненужные элементы.
8. Евгений Гайдайчук (evgaid) 141 19.04.12 10:03 Сейчас в теме
Блин да смотрел в эту сторону, заморочисто это все из типовой ковырять. Регистры добавлять и многое еще что, которое как бы не нужно!
9. Sergey (zale) 19 24.04.12 18:06 Сейчас в теме
Процедура ДобавитьПрефиксУзла(Префикс) Экспорт

// Использовать 2 параметра сеанса использованиериб(булево) префиксриб
// Префикс сюда передать префикс организации
Если ПараметрыСеанса.ИспользованиеРИБ
Префикс = ПараметрыСеанса.ПрефиксУзлаРаспределеннойИнформационнойБазы + Префикс;
КонецЕсли;

КонецПроцедуры

вызываешь при формировании кода для справочника или документа
10. Гарри Краннон (garrycrannon) 06.01.17 22:01 Сейчас в теме
Чтобы не отлавливать коды по всей конфигурации, используй подписки на событие.

1. Проверь чтобы во всех справочниках которыми ты будешь обмениваться (по умолчанию - все справочники оптом) - были коды типа "строка" (впрочем, 1С по умолчанию и так их предлагает делать строкой).
2. Создай подписку на событие ПриУстановкеНовогоКода для всех справочников
3. Создай общий модуль УстановкаПрефиксовСправочников или в другом модуле...
4. Пропиши туда процедуру:

Процедура УстановкаНовогоКодаПриУстановкеНовогоКода(Источник, СтандартнаяОбработка, Префикс) Экспорт
	
	Префикс = ПланыОбмена.АвтоматическийОбмен.ЭтотУзел().Код;	
	
КонецПроцедуры

...Показать Скрыть


Шаблон процедуры для тебя любезно создаст мастер при создании события.

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

После выполнения этих действий тебе больше не нужно будет беспокоиться о дублировании кодов.

Хинт: используй в качестве всех префиксов и прочего латинские символы. Тогда ты сможешь запросто кодировать коды или номера документов в штрихкод (Code128).
Оставьте свое сообщение