2014-01-14 15:37:16
Краткое описание :
Неверно осуществляется поиск в спецификации соглашения.Описание :
Импорт уведомлений об отгрузкеЧто измененно :
При импорте уведомлений об отгрузке неверно осуществляется
поиск по ПИД-у позиции спецификации соглашения.
Ошибка происходит если в спецификации соглашения есть две и более позиций с
одинаковыми МЦ, но разными ПИД-ами.
Сейчас поиск осуществляется следующим образом:
1) В ПЗС находится МЦ, соответствующая заданному ПИД-у.
2) В спецификации заданного соглашения находится позиция с МЦ, найденной на
шаге 1). Первая попавшаяся позиция.
3) По всем соглашениям находятся позиции спецификации, у которых в целевом
учете присутствует заданный ПИД.
4) Все позиции спецификаций соглашений, найденные на шаге 3) сравниваются с
позицией, найденной на шаге 2).
5) Как только найдено совпадение, это и есть искомая позиция спецификации
соглашения.
В этом алгоритме есть дырка. На шаге 2) не делается проверка присутствует ли в
целевом учете найденной позиции заданный ПИД.
На самом деле алгоритм должен быть таким:
1) По всем соглашениям находятся позиции спецификации, у которых в целевом
учете присутствует заданный ПИД.
2) В полученном списке осуществляется поиск позиции спецификации, которая
относится к указанному в файле для импорта соглашению, и которая содержит туже
МЦ, что указана в позиции ПЗС и заданным ПИД-ом.
Этого было бы достаточно.
Как измененно :
Алгоритм поиска спецификации соглашения следующий:
1) По всем соглашениям находятся позиции спецификации, у которых в целевом
учете присутствует заданный ПИД.
2) В полученном списке осуществляется поиск позиции спецификации, которая
относится к указанному в файле для импорта соглашению, и которая содержит туже
МЦ, что указана в позиции ПЗС и заданным ПИД-ом.