В КУРСЕ?

Разбираемся в теме

Документ записан, а остаток не изменился: как это устроено в 1С

Начинающий разработчик может ожидать, что сохранение документа сразу изменит все связанные отчёты. В 1С это зависит от устройства прикладного решения. Полезно отдельно рассмотреть исходные данные документа, его проведение и записи, по которым рассчитывается остаток. Для объяснения возьмём условную учебную конфигурацию с поступлением и выдачей материалов, не затрагивая рабочую базу.

Документ хранит сведения о событии

В документе могут находиться дата, склад, строки материалов и количество. Запись сохраняет эти сведения, но сама по себе ещё не объясняет, какие учётные последствия должны возникнуть. В типичном решении документ до проведения может выполнять роль черновика. Проведение связано с регистрацией события в учёте и выполнением предусмотренного разработчиком алгоритма. Этот алгоритм может проверять условия и формировать движения. Однако нельзя утверждать, что любой документ обязательно изменяет складской остаток. Бывают документы другого назначения, а некоторые вообще не предусматривают проведение. Поэтому первый вопрос при разборе поведения состоит в назначении конкретного объекта. Если документ описывает встречу, ожидать от него изменения количества товара было бы ошибкой. Если он должен отражать поступление, нужно проверить, где и как реализован этот результат.

Регистр отвечает на другой вопрос

Регистр накопления хранит числовые данные в выбранных разрезах. В учебном складском примере измерениями могут быть материал и склад, а ресурсом количество. Тогда можно различать одинаковый материал на двух складах, не смешивая его в один общий остаток. Движение прихода увеличивает учитываемое количество, движение расхода уменьшает его. Для регистра остатков из таких записей получают остаток на определённый момент. Регистр оборотов решает другую задачу: накапливает изменения за период, не храня остаток в том же смысле. Допустим, на основном складе первоначально ничего не было. Поступление восьми условных коробок и выдача трёх дают остаток пять. Но этот вывод верен только при одинаковом материале, складе и согласованном времени учёта. Если выдача относится к другому складу, арифметическое вычитание из первого остатка будет неверным. Связь движений с документом-регистратором помогает проследить происхождение чисел и проверить, какое событие повлияло на результат.

Проверяйте всю цепочку

Если ожидаемый остаток не появился, двигайтесь последовательно. Сначала убедитесь, что документ содержит нужные данные и имеет ожидаемое состояние. Затем проверьте сформированные движения: регистр, измерения, количество и период. После этого рассмотрите условия отчёта, включая дату и отборы. Не следует сразу исправлять число вручную в регистре. Такая правка способна скрыть ошибку алгоритма или разорвать понятную связь с исходным событием. Исследование и изменение выполняют в учебной копии с вымышленными данными. Отдельная проверка нужна для повторного проведения. В простой модели без изменений исходных данных повторная обработка не должна превращать одно поступление в два. Также полезно проверить отмену проведения и изменение количества. Конкретное поведение определяется конфигурацией, поэтому ожидаемые результаты записывают заранее. Даже правильный итоговый остаток не всегда доказывает отсутствие ошибок: два неверных движения могут случайно компенсировать друг друга. Просмотр цепочки событий помогает заметить такую ситуацию.

Попробуйте на практике

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

  1. Задайте один материал и два склада. Отдельно обозначьте, какие сведения хранит документ и какие нужны для записи регистра.
  2. Запишите поступление восьми коробок на первый склад и выдачу трёх с того же склада. Рассчитайте ожидаемый остаток.
  3. Измените в учебной выдаче склад на второй. Объясните, почему нельзя уменьшить остаток первого склада тем же действием.
  4. Опишите ожидаемую проверку после повторного проведения неизменённого поступления: какие записи и остатки необходимо сравнить.

Как проверить результат. Для первого сценария получено пять коробок. Во втором склады не смешаны, а повторное действие не принято за новое самостоятельное поступление.

Частые вопросы

Документ и регистр дублируют одну информацию?

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

Почему правильные движения могут не отображаться в отчёте?

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

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

Зарегистрируйтесь, чтобы уточнить возможность доступа к этому материалу

Зарегистрироваться
← К списку материалов