При работе с типовыми конфигурациями 1С, такими как Управление торговлей или ERP Управление предприятием, разработчики и аналитики часто сталкиваются с необходимостью анализа данных в регистре накопления ВыручкаИСебестоимостьПродаж. Одной из частых задач является понимание того, почему для отражения выручки используются два различных ресурса: СуммаВыручки и СуммаВыручкиРегл. Давайте разберем детально, в чем заключаются эти различия и как самостоятельно находить ответы на подобные вопросы в конфигурации.
Для понимания разницы важно учитывать, что система 1С разделяет учетные контуры. Основное отличие заключается в валюте учета, принципах признания доходов и налоговой составляющей:
Нередко аналитики замечают, что значения в этих полях не совпадают. Разберем основные причины таких расхождений:
СуммуВыручки часто попадает полная сумма сделки, тогда как СуммаВыручкиРегл очищена от налоговой составляющей.Один из самых эффективных способов понять, как именно формируются данные, — это проанализировать исходный код. Разберем по шагам, как это сделать:
1. Изучение подсказок в Конфигураторе:
Самый простой и быстрый способ — это посмотреть описание реквизита непосредственно в структуре регистра. Откройте конфигуратор, найдите регистр накопления ВыручкаИСебестоимостьПродаж, перейдите к списку его ресурсов и изучите свойство Комментарий или текст подсказки для полей СуммаВыручки и СуммаВыручкиРегл.
2. Поиск по конфигурации:
Если вам нужно понять, какой именно алгоритм записывает данные в эти поля, используйте инструмент Поиск по конфигурации. Введите имя реквизита в строку поиска и выберите область поиска по всем объектам. Это позволит найти места, где происходит заполнение записей в регистре. Как правило, логика заполнения находится в модулях менеджера документов, таких как РеализацияТоваровУслуг, в процедурах типа ОбработкаПроведения.
3. Анализ модулей:
При поиске мест заполнения вы можете встретить конструкцию, отвечающую за движение по регистру. Рассмотрим пример того, как это может выглядеть в коде:
// Пример логики формирования движений в модуле объекта
Движение = Движения.ВыручкаИСебестоимостьПродаж.Добавить();
Движение.СуммаВыручки = Объект.СуммаДокумента;
Движение.СуммаВыручкиРегл = Объект.СуммаБезНДС;
Проанализировав подобные участки кода, вы сможете точно выяснить, какой метод расчета (например, вызов функций общего модуля для пересчета валют) используется в вашей версии конфигурации.
Чтобы стать экспертом в структуре данных своей системы, мы рекомендуем следующие действия:
СуммаВыручки и СуммаВыручкиРегл участвуют в расчетах и какие выражения используются в вычисляемых полях.Работая совместно с кодом системы, вы всегда сможете найти истинную причину разницы в данных и настроить отчетность под специфику вашего предприятия.