Обмен через DBF

1. keyn5565` 18 03.05.18 17:01 Сейчас в теме
Есть работающий обмен через DBF. Загружаем проводки со сторонней программы.
"Специалисты" на своей стороне редактируют документ (по желанию менять могут любой реквизит).
К примеру есть документ под номером 369852147 от 01.01.2018. Он был загружен в 1С, после проходи несколько дней и, до специалистов дошло что номер и дата по этой записи должны быть иными. После изменений номер документа принял вид 369852157 от 04.01.2018.
После нового обмена в 1С создает новый документ с новым номером и датой. В итоге получается что документов два. Они по логике идентичны. Но алгоритм не может определить что именно это старый документ и его нужно изменить, по этому он создает новый документ с новым номером и датой.

Есть ли какая возможность (механизм, процедура, функция) что бы определить через DBF файл что этот документ изменялся?

Уникальных ключей (идентификаторов) в таблице DBF нет.
Любой документ может быть изменен до неузнаваемости (все ключевые данные по которым можно найти документ могут быть изменены).
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. trdm 03.05.18 17:54 Сейчас в теме
(1)
Уникальных ключей (идентификаторов) в таблице DBF нет.

Надо запросить. Пусть попотеют.
Либо пусть рееестр согласования прикрепляют, типа:
СтарыйНомер1;НовыйНомер1
СтарыйНомер2;НовыйНомер2
....
СтарыйНомерN;НовыйНомерN
4. Cooler 22 03.05.18 20:40 Сейчас в теме
(1)
Любой документ может быть изменен до неузнаваемости (все ключевые данные по которым можно найти документ могут быть изменены)
На таких условиях задача попросту не имеет решения: как вы сами определяете, что это "старый" документ, а не "новый"?
9. plebedinskiy 50 04.05.18 11:20 Сейчас в теме
(1) Добавьте допреквизит Глобальный нумератор (ГНОМ) он будет как пользовательский GUID. позволит отсматривать документы до загрузки, а именно искать по реквизиту. не нашли, создаете, нашли редактируете прошлый.
10. Cooler 22 04.05.18 11:37 Сейчас в теме
(9)
Добавьте допреквизит Глобальный нумератор (ГНОМ) он будет как пользовательский GUID.
Осталось выяснить - куда добавить? Насколько я понял автора, файл DBF формируется сторонней (не 1С) программой, вмешаться в работу которой возможности нет.

Скорее всего, DBF при выгрузке каждый раз полностью создается заново.
11. plebedinskiy 50 04.05.18 11:43 Сейчас в теме
(10)
Осталось выяснить - куда добавить? Насколько я понял автора, файл DBF формируется сторонней (не 1С) программой, вмешаться в работу которой возможности нет.

Скорее всего, DBF при выгрузке каждый раз полностью создается заново.


Тогда как говорится, надо собирать единую аналитику по документу, дата-номер-контрагент-ИтоговаяСумма - количествоПозицийВДоке и если, к примеру 4 поля из 5 совпало, тогда уведомлять пользователя, или выкатывать реестр "сомнительных" документов.
2. Sanya2049 39 03.05.18 17:42 Сейчас в теме
Ну тут два варианта:

дополнить DBF УИД документа;
Вести реестр выгруженных документов (Регистр сведений) и идентифицировать по строкам DBF
6. keyn5565` 18 04.05.18 08:02 Сейчас в теме
(2)
(5)
GUID

УИД нет возможности прописать во второй программе.
К тому же кроме изменения в документе, они могут его попросту удалить и сказать что так и было....
Судя по всему все упирается в исключительно визуальную проверку
5. kild 89 03.05.18 21:09 Сейчас в теме
Видимо потребуется завести GUID для документов, иначе никак не распознать документ, раз могут поменять абсолютно все реквизиты.
7. Sanya2049 39 04.05.18 10:02 Сейчас в теме
А порядок строк меняется в DBF?
8. FIGOR 04.05.18 10:24 Сейчас в теме
Предлагаю после загрузки в 1С сверять итоговую сумму за сутки и выдавать сообщение о несоответствиях, то-есть будет повод для проверки списка документов в 1С и удаления лишнего документа ручным способом.

Можно также из сторонней программы формировать постфактум реестр выгруженных документов за некий проверочный период и производить проверку отдельно обработкой в 1С на предмет соответствия списков. Сразу можно будет выявить "двойников" или "недостачу".
12. Slypower 2 04.05.18 11:46 Сейчас в теме
Номер документа - это меняющиеся значения. А вот Номер входящего документа (Номер БСО) и Дата входящего документа (Дата БСО) - это постоянно и индивидуально, т.к. подтверждены накладными. Если пробовать от них отталкиваться при загрузке? Если есть такие уже, то выдавать сообщение какое или доп проверку делать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот