Имя: Пароль:
1C
1C 7.7
v7: Обмен в УРИБ 1С77
0 woha
 
20.02.13
18:40
Доброго дня! Впервые столкнулся с УРИБ на 1С77. Не судите строго. Подскажите, пожалуйста, по какому признаку в базах стандартный обмен ищет соответствущие записи объектов? Спасибо.
2 КонецЦикла
 
20.02.13
18:43
По id, iddoc (содержит идентификатор и код базы)
3 woha
 
20.02.13
18:46
(1) код базы - код той базы где объект был создан?
4 КонецЦикла
 
20.02.13
18:47
(3) Да
5 woha
 
20.02.13
18:49
мне нужно недожидаясь обмена прямым запросом в ms sql записать изменения объекта в той базе, где он был создан.
6 Mikeware
 
20.02.13
18:49
(5) не советую.
7 woha
 
20.02.13
18:50
(6) очень надо
8 woha
 
20.02.13
18:51
проблема в том, как найти нужную запись.
9 Mikeware
 
20.02.13
18:52
(7) ТКВ!
(8) в чем проблема?
10 Скользящий
 
20.02.13
18:54
(7)
>очень надо

Напомнило анекдот, про молодого человека, ворвавшегося к врачу и потребовавшего его немедленно кастрировать. На все вопросы отвечал - "очень надо!". После таки проведенной операции врач у него спрашивает,
- ну зачем все таки тебе это надо.
Ну и парень отвечает,
- я на еврейке женюсь, у них такой обычай.
- Может быть, вам ОБРЕЗАНИЕ надо было сделать?
- А я как сказал??
11 woha
 
20.02.13
18:55
(2) получается, что по id (объект - справочник). он и в одной и в другой базе должен быть одинаковым.
12 woha
 
20.02.13
18:55
(10) :) Спасибо.
13 Mikeware
 
20.02.13
18:56
(11) если объект один и тот же - то и ид будет одинаковым. в контексте вида справочника, конечно...
14 woha
 
20.02.13
19:01
есть несколько распределенных баз, в которых ведется отслеживание изменений некоторых объектов (справочников, докуметов). тоесть в отдельный справочник пишется, что такой то объект изменился. когда это попадает на одну из баз, она эти изменения перебрасывает на mySQL и после этого в тот справочник записывается флаг, что изменения состоялись. если это не записать и в источник то при следующем обмене в mySQL опять полетит то что там уже и так есть.
15 woha
 
20.02.13
19:14
спасибо. и развеселили, и подсказали что делать. позже буду пробовать, когда тестовые базы развернут.
16 КонецЦикла
 
20.02.13
19:22
Что-то как-то мутновато, непонятно
Можно заполнять таблицу измененных объектов штатную, можно оттуда удалять объекты
Нельзя никак без гимора обойтись?
17 woha
 
20.02.13
19:30
если не было бы базы на mySQL было бы все очень просто. а так не обойтись.
18 woha
 
20.02.13
19:34
(16) Все изменения товаров, цен, контрагентов и т.д. не зависимо в какой базе происходят, должны попасть в базу данных mySQL и только одна база 1с имеет к ней доступ.
19 КонецЦикла
 
20.02.13
19:38
(18) Заводищь служебную базу "только получатель" - там все изменения будут (откуда, куда, зачем)
Ее даже реально может не быть (если сливать в свое хранилище), можно автоматом ответы генерить :)
20 Cthulhu
 
20.02.13
19:39
1supdts
21 woha
 
20.02.13
19:42
(19) этого мало, изменения не просто новый (хотя и это как-то надо словить), но и отдельных реквизитов.
22 woha
 
20.02.13
19:43
там идет и insert и update
23 КонецЦикла
 
20.02.13
19:46
(22) Тогда вторую базу (которая хранит данные с предыдущего обмена) :)
И одним запросом красиво получаешь какие реквизиты изменились (по списку объектов в 1supdts)
Ну и что пропало, добавилось (отдельно)
Может и бредово немного, но надежнее имхо чем у вас
24 woha
 
20.02.13
19:53
(23) спасибо. но я думаю у меня это получше сделано. в базу которая забрасывает на mySQL данные, с того же mySQL приходят новые объекты. обменом они попадают в центральную, а потом и в другие. попробую довести до ума то что начал. если не пойдет буду смотреть dbf.
25 КонецЦикла
 
20.02.13
19:56
(24) Ну dbf точно не надо :)
Как хочешь, было бы на родном SQL и почти штатно
26 Mikeware
 
21.02.13
07:07
(21) ты ,грубо говоря, поймаешь событие "объект изменился"
ну и обрабатывай изменившиеся объекты уже майсиквелом.
а то, что описано в (24) - чрезжопица®
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн