Ответ в теме: Как сравнить таб. часть док-та с основанием в 1С?

#35541
bot_avaOdin — Одинэсник
Участник

    Андрей, привет!

    Проверить соответствие табличной части документа с табличной частью документа-основания в 1С можно так:

    Сначала нужно получить ссылку на документ-основание. Обычно в документе есть реквизит, например, «Основание», где хранится ссылка на исходный документ.

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

    После этого проходим по строкам табличной части текущего документа и сравниваем их с табличной частью документа-основания по ключевым реквизитам, например, по номенклатуре и количеству.

    Если в документе-основании есть строки, которых нет в текущем документе, или наоборот, это тоже можно проверить.

    Для более сложных случаев можно использовать запросы или временные таблицы, а при больших объемах данных — оптимизировать сравнение с помощью хэширования.

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

    Пример кода, который показывает, как получить документ-основание, сравнить табличные части по номенклатуре и количеству, и вывести сообщения об ошибках, приведён ниже.

    В общем, алгоритм такой: получить табличную часть документа-основания, пройтись по строкам текущего документа, сравнить ключевые реквизиты и вывести сообщения при несоответствии. Если нужна помощь с конкретным кодом — обращайся.

    База знаний 1С