База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как провести сверку первичных документов между УТ 11 и БП 8.3?
- В этой теме 1 ответ, 2 участника, последнее обновление 8 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
18 августа 2026 в 8:31 #38404
Техническое задание Сверка первичных документов между УТ 11 и БП 8.3
1. Сверке подлежат исключительно закрывающие первичные документы:
Для реализаций:
· Реализация (акт, накладная, УПД статус «1» и «2»).
· Счет-фактуры (выданные).
· УПД Корректировка реализации (код вида операции «1» — согласование стоимости, «0» — уменьшение стоимости).
· Возврат от покупателя.
Для поступлений:
· Поступление (акт, накладная, УПД статус «1» и «2»).
· Счет-фактуры (полученные).
· УПД Корректировка поступления (код вида операции «1» — согласование стоимости, «0» — уменьшение стоимости).
· Возврат поставщику.
Исключения из сверки:
· Счета-фактуры на аванс (не сверяются).
2. Сопоставление документов между базами выполняется строго по составному ключу:
2.1. Для Реализаций и Корректировок:
· Номер документа (без префиксов, строгое сравнение).
· Дата документа (год, месяц, число).
· ИНН Контрагента.2.2. Для Поступлений (особое условие):
· В документах поступления в УТ 11 и БП 8.3 есть реквизит «Номер входящего документа» (или «Номер документа поставщика»). Сверка поступлений выполняется по этому полю, а не по внутреннему номеру документа. Ключ сопоставления: ВходящийНомер + Дата + Поставщик (ИНН).
3. Форма «Настройки сверки» (перед запуском):
· Поле «Период сверки» (С ДатаНач по ДатаКон).
· Группа «Фильтры по контрагентам» (Выбор из списка или Все).
· Группа «Фильтры по организациям» (Обязательно, т.к. в БП учет ведется по юрлицам).
· Тип документа (Чек-боксы):
· ☑ УПД (статус 1 и 2)
· ☑ Счет-фактура
· ☑ УПД Корректировка
· Флаг: «Учитывать только документы с проведением» (всегда включен).
· Кнопка «Выполнить сверку».
4. Детальные критерии сравнения (Построчно)
Для каждой строки табличной части документа выполняется сверка по следующим параметрам:
Параметр / Источник (УТ 11) / Приемник (БП 3.0) / Допустимое отклонениеНоменклатура/ Номенклатура / Номенклатура / Строгое соответствие.
Единицы измерения / Ед. изм. /Ед. изм. / Строгое соответствие.
Количество / Кол-во / Кол-во / ± 0.001 (погрешность округления).
Цена / Цена / Цена/ ± 0.001 (погрешность округления).
Сумма / Сумма / Всего / ≤ 0.01 руб.
Ставка НДС / Ставка НДС / % НДС / Строгое соответствие (22/10/0/без НДС).
Сумма НДС / НДС / НДС / ≤ 0.01 руб.
Итоговое поле сумма всего / Всего с НДС / Всего / ≤ 0.01 руб.
Итоговое поле сумма НДС / НДС / в т.ч. НДС / ≤ 0.01 руб.
5. Критерии для Корректировочных документов (особое условие)
Для УПД Корректировка сверка дополнительно проводится по реквизиту «Основание» (ссылке на исходный УПД):
1. Найти в УТ 11 документ-основание (исправляемый УПД).
2. Найти в БП 8.3 такой же УПД-основание по связке (Номер+Дата+ИНН).
3. Сравнить сумму изменения (СуммаУменьшения / СуммаУвеличения) в корректировке УТ и корректировке БП. Сравнивается сумма изменения (увеличения/уменьшения) по каждому основанию. Сравнивается новая цена и новое количество (после корректировки).
Если в одной базе корректировка есть, а в другой нет — выдается критическая ошибка.
6. Форма результатов
Предусмотреть кнопку «Экспорт в Excel».
Результат выводится в виде Табличного документа с группировкой:
Блок 1. «Расхождения по документам реализации»
· Номер УПД (УТ) | Номер УПД (БП) | Дата | Контрагент | Сумма УТ | Сумма БП | Комментарий, какой критерий не прошел проверку.
Блок 2. «Расхождения по документам поступлений»
· Входящий номер (УТ) | Входящий номер (БП) | Дата | Поставщик | Сумма УТ | Сумма БП | Комментарий, какой критерий не прошел проверку.
Блок 3. «Позиционные расхождения внутри документов»
· Документ | Номенклатура | Кол-во УТ | Кол-во БП | Цена УТ | Цена БП | Комментарий, в чем расхождение
Блок 4. «Расхождения по корректировкам»
· Основание (номер УПД) | Сумма увел. УТ | Сумма увел. БП | Сумма ум. УТ | Сумма ум. БП | Комментарий, в чем расхождение.Как это сделать
-
18 августа 2026 в 8:31 #38405
Чтобы реализовать сверку первичных документов между УТ 11 и БП 8.3 по вашему техническому заданию, нужно сделать обработку (или внешнюю обработку) с несколькими ключевыми этапами:
—
### 1. Настройка формы параметров сверки
— Поля для выбора периода (ДатаНач и ДатаКон).
— Фильтры по контрагентам (выбор из справочника или все).
— Фильтр по организациям (обязательно, т.к. в БП учет по юрлицам).
— Типы документов (чекбоксы): УПД, Счет-фактура, УПД Корректировка.
— Флаг «Учитывать только проведённые документы» (всегда включён).
— Кнопка «Выполнить сверку».—
### 2. Получение данных из обеих баз
— Для УТ 11 и БП 8.3 нужно получить списки документов по выбранным фильтрам и типам документов, с учётом периода и проведённости.
— Для реализаций и корректировок — ключ сопоставления: Номер документа (без префиксов), Дата, ИНН контрагента.
— Для поступлений — ключ: ВходящийНомер + Дата + ИНН поставщика.
— Исключить счета-фактуры на аванс.—
### 3. Сопоставление документов по ключам
— Построить словари (хэш-таблицы) по ключам для обеих баз.
— Найти документы, которые есть в одной базе, но отсутствуют в другой — добавить в отчет с пометкой «Документ отсутствует».—
### 4. Детальная сверка по позициям документов
Для каждой пары сопоставленных документов:
— Получить табличные части (товары/услуги).
— Для каждой позиции сверить:| Параметр | Источник (УТ 11) | Приемник (БП 8.3) | Допустимое отклонение |
|———————|——————|——————-|——————————-|
| Номенклатура | Номенклатура | Номенклатура | Строгое соответствие |
| Единицы измерения | Ед. изм. | Ед. изм. | Строгое соответствие |
| Количество | Кол-во | Кол-во | ± 0.001 |
| Цена | Цена | Цена | ± 0.001 |
| Сумма | Сумма | Всего | ≤ 0.01 руб. |
| Ставка НДС | Ставка НДС | % НДС | Строгое соответствие (22/10/0/без НДС) |
| Сумма НДС | НДС | НДС | ≤ 0.01 руб. |
| Итоговая сумма с НДС| Всего с НДС | Всего | ≤ 0.01 руб. |
| Итоговая сумма НДС | НДС | в т.ч. НДС | ≤ 0.01 руб. |— Если расхождения есть — добавить в отчет с указанием параметра и значений.
—
### 5. Особая обработка корректировочных документов (УПД Корректировка)
— По реквизиту «Основание» найти исходный документ в обеих базах.
— Сравнить суммы увеличения/уменьшения, новую цену и количество.
— Если корректировка есть в одной базе, а в другой нет — критическая ошибка.
— Добавить расхождения в отдельный блок отчёта.—
### 6. Формирование отчёта
— Табличный документ с четырьмя блоками:
1. Расхождения по документам реализации
(Номер УПД УТ, Номер УПД БП, Дата, Контрагент, Сумма УТ, Сумма БП, Комментарий)2. Расхождения по документам поступлений
(Входящий номер УТ, Входящий номер БП, Дата, Поставщик, Сумма УТ, Сумма БП, Комментарий)3. Позиционные расхождения внутри документов
(Документ, Номенклатура, Кол-во УТ, Кол-во БП, Цена УТ, Цена БП, Комментарий)4. Расхождения по корректировкам
(Основание (номер УПД), Сумма увел. УТ, Сумма увел. БП, Сумма ум. УТ, Сумма ум. БП, Комментарий)— Кнопка «Экспорт в Excel» для выгрузки отчёта.
—
### 7. Технические рекомендации по реализации
— Для доступа к данным из двух баз можно использовать:
— Внешнюю обработку с подключением к обеим базам через COM-соединение (если базы на одном сервере или доступны по сети).
— Или выгрузку данных в промежуточные файлы (Excel, XML) и загрузку в обработку для сравнения.— Для сравнения числовых значений используйте функции с учетом допустимых отклонений (ABS(Значение1 — Значение2) ≤ Погрешность).
— Для удобства и производительности используйте временные таблицы и хэш-таблицы для быстрого поиска документов и позиций.
— Обязательно логируйте ошибки и исключения.
—
### Примерный алгоритм на 1С (упрощённо):
1С (Код)1234567891011121314151617181920212223242526// Получить документы из УТ 11ДокументыУТ = ПолучитьДокументыУТ(Параметры);// Получить документы из БП 8.3ДокументыБП = ПолучитьДокументыБП(Параметры);// Сопоставить документы по ключуДля Каждого ДокУТ Из ДокументыУТ ЦиклКлюч = СформироватьКлюч(ДокУТ);Если ДокументыБП.Содержит(Ключ) ТогдаДокБП = ДокументыБП[Ключ];// Сверить позицииРезультат = СверитьПозиции(ДокУТ, ДокБП);Если Результат.ЕстьРасхождения ТогдаДобавитьВОтчет(Результат);КонецЕсли;ДокументыБП.Удалить(Ключ);ИначеДобавитьВОтчет("Документ отсутствует в БП", ДокУТ);КонецЕсли;КонецЦикла;// Оставшиеся документы в ДокументыБП отсутствуют в УТДля Каждого ДокБП Из ДокументыБП ЦиклДобавитьВОтчет("Документ отсутствует в УТ", ДокБП);КонецЦикла;—
### Итог
— Сделать форму настроек.
— Получить и отфильтровать документы из обеих баз.
— Сопоставить документы по ключам.
— Выполнить детальную сверку по позициям.
— Особая логика для корректировок.
— Сформировать отчёт с группировкой и экспортом.—
Если нужна помощь с конкретным кодом или шаблоном обработки — могу помочь с примером. Рекомендую также посмотреть готовые решения и примеры на Инфостарте, там есть похожие обработки сверки документов между базами.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.