Приход-Расход=Оборотка
Основная идея построения учета товаров в "Ланч" проста: приход увеличивает наличие, расход уменьшает.
Ситуации "приход" или "расход" понимаются исходя из того, как в документе заполнены поля "От кого"(поставщик) и "Кому"(получатель).
Каждый документ содержит дату (и даже время), что позволяет вычислять остаток на нужный момент времени.
Документы содержат записи о движении средств, а остатки перевычисляются программой по документам, автоматически при каждом добавлении-изменении-удалении первичных документов.
Иначе говоря, есть первичные документы (содержащие факты) и табло состояния остатков, в котором показывается текущее состояние.
Оборотная ведомость.
Наличие товаров отображается в "Оборотной ведомости". Там для каждого товара - отдельная строка, где написано: Было + Приход - Расход = Остаток (вместо слов, конечно, числа).
Такой формат отображения сведений о наличии гораздо более информативен, чем просто сведения об остатке ("Сальдовая ведомость"). Ведь в оборотной ведомости можно оценить предысторию, причину такого остатка, а не только сам факт его существования.
Например, если на начало месяца было 10, пришло 50, а расход составил 59, очевидно, что движение по товару было, не то что в случае, когда как было 1, так и осталось 1.
Еще больше полезность формата оборотной ведомости выявляется при анализе движения родственных строк.
Например, рассмотрим случай с двумя очень похожими(родственными) позициями: по одной строке остаток оказался -3, а по другой +3, расход по первой строке был 10, а по второй расхода не было.
Скорее всего, произошла путаница названий при оформлении первичных расходных документов.
Именно по причине большей информативности в "Ланч" состояние наличия средств показывается в виде оборотной ведомости.
Товарные отчеты.
Еще одно "табло состояния" в "Ланч": товарные отчеты.
Каждый товарный отчет составляется за день и содержит: входящее сальдо, перечень приходных документов с суммами, перечень расходных документов с суммами и остаток на конец дня.
"Ланч" для 1С автоматически пересчитывает товарные отчеты при изменении первичных документов.
Настройка видов учета
Для того, чтобы указать программе, по каким получателям вести материальный учет (разносить по ним движение товаров в Оборотную ведомость), по каким - вести товарный отчет (разносить итоги документов в товарные отчеты), достаточно в справочнике "Получатели" установить соответствующий флажок.
После этого программа автоматически станет отрабатывать изменения документов в "табло состояния".
Использованное техническое решение
Для ведения "табло состояния" в "Ланч" для 1С начальной версии используется механизм регистров.
Положительные качества этого механизма:
- хранит сведения о движениях товаров с точностью до строки документа
быстрое вычисление - остатка на произвольный период
- малая зависимость от объема накопленных сведений
- гибкие средства отбора данных через запросы или команды
Чего недостает:
- для просмотра сведений из регистров всегда нужно вызывать процедуру отбора данных (запрос + выгрузка в таблицу или формирование отчетов). Просто просмотреть нельзя.
- документы вида "Инвентаризация" должны, по идее, фиксировать остаток, закрывая всем предыдущим документам возможность изменения остатка. Однако в регистры 1С можно вписывать только изменения (приходы и расходы), после изменения документов более ранних, чем инвентаризация, инвентаризацию тоже следует перепроводить.
- отбор данных из регистров запросом не показывает строк, по которым общая сумма движения равна нулю. Например, если были расходные документы на 2 шт и на 6 шт, а затем - исправительный расход на -8, то запрос не будет вообще содержать сведений о такой позиции (сумма всего равна нулю). А надо бы, чтобы видеть, что движение все же было.
Другие средства
(которые можно использовать в 1С для ведения "табло состояния")
Справочник ОборотнаяВедомость.
Например, для оборотной ведомости справочник должен содержать реквизиты: Склад, Номенклатура, Партия, НачальныйОстаток, Приход, Расход, КонечныйОстаток. При изменении первичных документов каждая строка документа обрабатывается так: в справочнике ОборотнаяВедомость находится соответствующая строка и, в зависимости от даты документа, меняется поле Приход, Расход или Остаток.
Справочник всегда готов для просмотра.
Нужно средство пересчета справочника при смене учетного периода (с удалением пустых записей после обработки).
Для увеличения производительности в структуру данных можно добавить поле Ключ, которое заполнять выражением Склад+Номенклатура+Партия - для возможности прямого доступа.
Достоинства:
- можно реализовать при любой комплектации 1С:Предприятия,
- хорошая готовность к просмотру
Недостатки:
- нестандартность (для 1С),
- необходимость полного набора средств пересчета-поддержки,
- учет наличия с точностью до учетного периода (а не до строки документа, как на регистрах),
- при отображении слева показываются синие папочки.
При более внимательном рассмотрении недостатки могут обернуться достоинствами:
необходимость затеять собственный пересчет ОборотнойВедомости дает возможность правильно учитывать инвентаризацию;
учет с точностью до учетного периода вполне хорошо зарекомендовал себя в предыдущих версиях "Ланч".
Использование компоненты "Бухгалтерский учет".
Ведение остатка товаров с использованием средств материального учета на плане счетов (с использованием субконто). Такой подход использован в некоторых аналогах "Ланч", однако выгоды такого подхода ограничиваются лишь возможностью не приобретать компоненту "Оперативный учет", а обходиться компонентой "Бухгалтерский учет". Возможности и производительность отбора данных в этом случае еще меньше, чем у регистров оперативного учета 1С.
Внешняя компонента.
Еще один способ организации табло: использование внешних компонент, например, на FoxPro.
Несмотря на экзотичность такой идеи, она позволяет решить такие задачи:
организовать табло нужной структуры (без эмуляций и перевычислений)
организовать высокоскоростной доступ к данным
организовать дополнительный канал привязки программы к средствам защиты от копирования.
Очевидна плата за это - более высокая сложность разработки.