Показать сообщение отдельно
Старый 11.12.2006, 13:53   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от sparur Посмотреть сообщение
Реализовываю синхронизацию различных таблиц м/у компаниями. Все это делаю путем модификации табличных методов insert, update, delete в компании источнике.
Как только вы это делаете, то методы групповой обработки перестают работать.
Читайте про recordset_insert, recordset_update, delete_from

Как только вы это делаете, то управление транзакциями сильно усложняется.

И кроме того, самое главное: вы все равно не гарантированы от различий в разных компаниях. Во-первых, есть методы doInset, doUpdate, doDelete. Во-вторых, теоретически можно изменить что-нибудь напрямую в SQL.

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

Прямой и штатный способ "синхронизации" - отказаться от синхронизации и перейти к виртуальным компаниям (читайте доку про виртуальные компании).

Цитата:
Сообщение от sparur Посмотреть сообщение
dictField = new dictField(_tableRec.TableId,dt.fieldCnt2Id(i));
Есть метод Global::buf2buf(from,to)
Юзайте его.

Вы не обрабатываете array-поля. Это значит, что такие поля (например, dimension) будут копироваться целиком.

Цитата:
Сообщение от sparur Посмотреть сообщение
а вот "проблемка" с update. Не охота также тупо перебирать ВСЕ поля таблицы, переприсваивать и потом апдейтить.
А смысл? SQL все равно будет тупо апдейтить все поля.
Впрочем, попробуйте поработать с orig(), если очень хочется.

Цитата:
Сообщение от sparur Посмотреть сообщение
код как то криво вставился уж простите меня грешного.
Есть тег [xpp]...код на X++...[/xpp]
В панели инструментов самая правая иконка позволяет вводить этот тег.
__________________
полезное на axForum, github, vk, coub.