Имя: Пароль:
1C
1С v8
Подскажите по обмену данных
0 а-санек
 
22.04.13
13:47
Начальник поставил задачу реализовать обмен данными с таблицой на SQL, СУБД Microsoft SQL с регистрацией изменений, или выгружать в файл и загружать данные с файла но с регистрацией всех изменений, чтобы потом загружались и выгружались только изменные и вновь созданные данные. Подскажите как это реализовать, укажите пожалуйста пример использования, где можно посмотреть? Пожалуйста очень надо, сам впервые делаю в этом направлении
1 Рэйв
 
22.04.13
13:49
Открой для себя РИБ
2 Рэйв
 
22.04.13
13:49
Почитай про планы обмена
3 Рэйв
 
22.04.13
13:49
хотя если таблица совершенно левая, а не база 1с, то тут все сложнее
4 ДенисЧ
 
22.04.13
13:50
5 Нуф-Нуф
 
22.04.13
13:58
планы обмена годятся для обмена с любой сторонней средой. просто если на той стороне что-то левое - придется больше писать
6 а-санек
 
22.04.13
14:03
(3) именно
7 Нуф-Нуф
 
22.04.13
14:04
открываешь большую и толстую книгу по 1С желтого цвета и читаешь, читаешь, читашь...
8 а-санек
 
22.04.13
14:04
(4) бывает
9 Рэйв
 
22.04.13
14:12
(6)Уж не знаю за каким хреном твоему начальнику понадобился этот изврат, но читать про планы обмена и таблицы изменений тебе все равно придется
10 а-санек
 
22.04.13
14:20
Посоветуйте с чего начать просвещение, с какой книжки?
11 Рэйв
 
22.04.13
14:44
(10)читать лучше тут
http://progbook.ru/1c/224-gabets_razrabotka_v_sisteme_1s_predpriyatie_8.html

начиная со страницы 571
12 Рэйв
 
22.04.13
14:45
(10)если даш мыло скину ссылку где можно скачать
13 Рэйв
 
22.04.13
14:45
хотя там кажется тоже вроде можно
14 Stim
 
22.04.13
14:49
Делается элементарно, без изменения конфигурации. Автор, напомни вечерком, поделюсь своей разработкой
15 Нуф-Нуф
 
22.04.13
14:50
(14) скажи суть?
16 Stim
 
22.04.13
14:55
(15) я с телефона. Суть - в использовании полного плана обмена с несколькими узлами и программное формирование файла xml в правилах выгрузки
17 Галахад
 
гуру
22.04.13
15:01
(16) Клевое описание. Все сразу стало понятно.
18 Stim
 
22.04.13
15:18
Идея в следующем:

Добавляем в план обмена Полный (потому что есть во всех типовых, в составе все основные объекты) 2 узла -ВсяВыгрузка и ТекущаяВыгрузка. Все редактируемые объекты редактируются для обоих узлов.

выгрузка осуществляется в файл. Настраиваем принимающую сторону таким образом, что принятый файл она удаляла после загрузки. В правилах обмена в процедуре ПередВыгрузкойДанных отказ ставим в ложь и формируем файл выгрузки xml программно. При этом происходит происходит "ручной двусторонний" обмен: Если файл выгрузке еще в каталоге(предыдущий) - значит, он не был прочтен сторонней программой. Если файла нет - значит, прочтен. В первом случае выгружаем все(нужные) изменения узла ВсяВыгрузка, во втором случае - узла ТекущаяВыгрузка. При этом, после выгрузки, для обоих случаев очищаем изменения ТекущейВыгрузки, а для второго случая(предыдущий файл прочелся) -удаляем изменения узла ВсяВыгрузка.

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

Возможно, эта реализация покажется сложнее и запутаннее, чем добавление своего плана обмена в конфигурацию -но для её работы не нужно изменять конфигурацию. Протестировано на типовой БП 2.0
Основная теорема систематики: Новые системы плодят новые проблемы.