Имя: Пароль:
1C
1С v8
Контроль уникальности при выгрузке из другой системы
0 Borteg
 
18.07.13
09:15
Доброе утро. Есть внешняя система не 1с.В ней ведется учет актов. Из нее приходит xml файлик. Он подгружается в 1с. Как можно сделать контроль уникальности. Тоесть чтобы если 2 раза его загрузить,чтобы  документы не задвоились .
1 Godofsin
 
18.07.13
09:15
(0) Ну так подправь обработку загрузки
2 Cube
 
18.07.13
09:17
(0) Ты, конечно же, для себя уже сформировал условия, по которым должны загружаться данные и не задваиваться, да? Только нам не говори, мы сами угадаем...
3 Borteg
 
18.07.13
09:23
(2) Обработка написана до меня, я ее переписать должен. По поводу условий  в выгружаемом xml нету поля которое позволило бы идентифицировать документы однозначно. Т.е выглядит это так
<act payments="0.0000" sumout="4118.1000" sumin="4118.1000" inn="1001231281" ndsUp="0.00" profitUp="0.00" nds="0.00" profit="0.00" turnover="0.00" gr_serv="4" contr_type="2" contract="М-1305/10-07" agent="(зак) Калевала Тур Интернейшнл ООО" id="48770"/>
просто акт и суммы, название контра. Здест уникальных номеров нет, поэтому собственно и вопрос откуда копать. НАсколько я понимаю копать надо из внешней системы, чтобы там были какието уникальные номера после выгрузки, добавить реквизит в документы, и при загрузке сравнить есть ли такие?
4 Cube
 
18.07.13
09:28
(3) "в выгружаемом xml нету поля которое позволило бы идентифицировать документы однозначно"

Ну и что ты тогда от нас хочешь?))
5 Живой Ископаемый
 
18.07.13
09:29
а это что: "id="48770"?
6 Borteg
 
18.07.13
09:29
(4) Тоесть начинать с внешней системы? и просить чтобы там программист озадачился уникальностью сначала?
7 Cube
 
18.07.13
09:30
(6) Сначала ответь на (5)
8 IVT_2009
 
18.07.13
09:31
я подобного рода проблему решал созданием ХЭШ поля по ключевым полям. Например Номер, Дата, Контрагент, Сумма

ИД = хэшироватьСтроку(дата+номер+контрагент+сумма);

колизий практический не было
9 IVT_2009
 
18.07.13
09:32
в любом случае у Вас есть набор полей , которые позволяют установить уникальность документа. Выведите признак уникальности и по нему сравнивайте при загрузке.
10 Borteg
 
18.07.13
09:34
(5) это тпк клиента, у контрагента он всегда одинаковый
11 Живой Ископаемый
 
18.07.13
09:36
что такое тпк? клиент может заплатить в один день две одинаковые суммы? в хмле есть дата?
12 Borteg
 
18.07.13
09:38
(11) да может, это электронная покупка авиа билетов, очень много комиссий загружается, а она как правило одна и таже, тоесть продали например 500 билетов, ну вот будет 500 документов одного контрагента с комиссией.
13 Живой Ископаемый
 
18.07.13
09:40
2(12) ну как, мы тебе помогли?
14 Borteg
 
18.07.13
09:43
(13) угу, что хотел я услышал. Начнем с выгрузки) Пойду смотреть что там есть, и на чем уникальность можно определить. Думаю добавлю какйто реквизит в документ где буду записывать этот уникальный номер ну и при загрузке соответственно сверять. Пока план такой)