![]() |
#4 |
Участник
|
Цитата:
Сообщение от сНЕЖНЫЙ_бес
![]() Как попроще решить такую задачу.
Пусть есть таблица Т1 с полями a1, a2, ... , an заполненная данными. Нужно сождать таблицу Т2 напимер с полями a1, a2 и a3 так, чтобы туда сразу внеслись сооветствующие данные из T1. При этом, если эти данные менялись бы в T1, то они автоматически менялись бы и в T2. Можно ли это реализовать без codunit ? А если надо писать codeunit то как его получше написать? Перенос данных таблицы, если в ней уже есть данные, можно поручить либо отчету типа "Processing Only", либо написать Codeunit, который выполнит перенос данных. А для синхронизации (односторонней, насколько я понял из описания задачи) необходимо модифицировать триггеры OnInsert, OnModify и OnDelete исходной таблицы T1 и выполнять соответствующие измения в таблице Т2. А по поводу "получше написать": 1. Цикл по перебору записей таблицы Т1 с вставкой записей в Т2 2. Подумать каким образом решить конфликт, если в таблице Т1 поля а1, а2, и а3 не являются альтернативным ключом таблицы, то есть можно найти две записи Т1, где значения полей а1, а2 и а3 совпадают. Это также относится и к синхронизации. Могу ошибаться, но с версии 3.70 в Codeunit1 есть Триггер-функции, которые позволяют отслеживать именения данных в таблицах. Если в разных: строить репликацию. Вариантов много. ЗЫ: хорошая на тестовая задачка для начала предметного разговора на обеседовании ![]() |
|