Сравнение версий объектов

На днях прилетела интересная задачка от клиента. Как то так произошло (намеренно или случайно), что некоторые документы стали распроведенными. И теперь для того, чтобы их вычислить нужно сравнить 2 версии документа. Последнюю и предпоследнюю. Текущую и предыдущую. Кому как нравиться 🙂

Начнем с того, что в БСП есть механизм версионирования объектов. Который хранит версии документов в регистре “ВерсииОбъектов”. Но сравнить простым запросом данные мы не можем, так как разработчики этой подсистемы решили хранить данные в хранилище значений в формате XML. Что в общем то логично, так как структура данных может поменяться.

Ну ок. Должны же быть какие то готовые методы, чтобы получить реквизиты документа по номеру версии.

В БСП версии 3.1.3.561 мы можем обратиться к функции ВерсионированиеОбъектов.РазборВерсии(Ссылка, НомерВерсии) и получить значения реквизитов и другую служебную информацию.

Ну например:

Передав ссылку и номер версии, мы уже получили контрагента. Но давайте вернемся к задаче сравнения двух последних версий документа.

Маленький дисклеймер. Качество кода фуфло, оптимальностью даже и не пахнет, делал на для решения одноразовой проблемы клиента.

Posted – английский вариант слова Проведен.

Ну вот и всё. Получили значения реквизитов, сравнили между собой и вывели в табличный документ. Если нужно модифицировать, то за основу можете взять мою обработку.

chevron_left
chevron_right