Документы.
Документы записываются напрямую в базу данных Купца на сервере через сокеты. Передавать документы можно выборочно или сразу все неотправленные. Чеки кассовых терминалов отправляются одной транзакцией за дату.
На следующем скриншоте показан журнал приходных накладных.
Если документ записан на сервере, то он помечается красным флажком. Его изменять нельзя. Чтобы внести изменения, документ надо отменить (повторным нажатием кнопки "Отправить"). В базе данных Купца отмененный документ приобретает статус выключенного. После внесения изменения в документ в магазине и повторной отправки его на сервер, в базе данных Купца создается новая копия документа.
В магазине в расчете движений товаров участвуют как отправленные, так и не отправленные на сервер документы.
В центральной базе данных в офисе (базе данных Купца) документы, созданные из магазина, изменять локально всем пользователям запрещено, кроме суперпользователя.
При передаче документов на сервер выполняется защита от сбоев. Вначале идентификатор отправляемого документа запоминается в магазинной базе данных. При записи в базу данных на сервере также запоминаются идентификаторы последних сохраненных документов. Если в магазине от сервера получено сообщение об успешной записи, то в магазинной базе в рамках транзакции устанавливается статус документа "Отправлен", а сохраненный идентификатор обнуляется. При каждой очередной отправке документа проверяется успешность предыдущей отправки. Если сохраняемый идентификатор документа в базе данных магазина не обнулен, то Продмаг выполняет запрос с сервера идентификаторов последних сохраненных там документов. При совпадении транзакция завершается, при различии отменяется.
Большая часть видов документов в Продмаге соответствует видам документов в Купце. Исключение составляют документы "Уценка" и "Инвентаризация". При записи уценки на сервере создаются два документа "Списание" и "Приходная накладная". При записи инвентаризации на сервере создаются три документа "Инвентаризация", "Списание" и "Приходная накладная". При отмене этих документов на сервере выключаются все соответствующие документы.
Важно отметить, что в Продмаге ведется только количественный учет движения товаров. Это сделано специально для упрощения работы. В базе данных Купца ведется полноценный парционный учет по методу ФИФО.
Приход товаров. Приходные накладные от поставщиков.
Возврат товаров поставщику.
Перемещение (приход со склада). Этот документ автоматически запрашивается на сервере.
Смена цен. Установка новых цен продажи. Расчет может выполняться от последней цены закупки или от текущей цены продажи.
Чеки кассовых терминалов. Загружаются из специализированных кассовых программ для анализа. На движение товаров они не влияют, влияет сводный кассовый чек за смену.
Продажа товаров. Сводные кассовые чеки за смену. Загружаются из специализированных кассовых программ.
Возвраты от покупателей. Возвраты, которые не покрываются продажами за смену. Загружаются из специализированных кассовых программ.
Перемещение (отгрузка). Перемещение в другой магазин или на центральный склад. В магазине-адресате этот документ загружается автоматически с сервера.
Списание. Списание товаров на выбираемый вид затрат.
Уценка. Списание количества с одной товарной позиции и приходование на другой одним документом. Количество прихода и списания могут отличаться.
Сбор данных (ТСД). Служебные документы, создаваемые загрузкой из ТСД или кассовой программы, поддерживающей режим инвентаризации.
Инвентаризация. Документ создается на основе учетных и фактических остатков товаров из документов "Сбор данных (ТСД)". Инвентаризация сразу влияет на движение товаров, дополнительных документов вида приход или списание создавать не надо.
Все документы. Общий журнал всех видов документов.
Остатки. Служебный документ для убыстрения расчета итогов по движению товаров.