Цитата:
Сообщение от
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]
В панели инструментов самая правая иконка позволяет вводить этот тег.