|   |   | 
| 
 | Контроль уникальности при выгрузке из другой системы | ☑ | ||
|---|---|---|---|---|
| 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) угу, что хотел я услышал. Начнем с выгрузки) Пойду смотреть что там есть, и на чем уникальность можно определить. Думаю добавлю какйто реквизит в документ где буду записывать этот уникальный номер ну и при загрузке соответственно сверять. Пока план такой)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |