Настройка документа для правильной простановки и отображение учетных цен и стоимостей

Немного теории

В ТБ.Корпорации количественный и стоимостной расчет разделен. Документы, заполняемые учетными работниками в течение рабочего дня, являются, как правило, чисто количественными - даже если там присутствуют «цены», то это рассматривается учетной моделью ТБК как количество ресурса «взаиморасчеты» или «деньги». Стоимостная же оценка ресурсов производится отдельным алгоритмом, называемым «расчетом стоимостных показателей», или «расчетом учетных цен» («РУЦ», устаревший термин). По правилам, подробно описанным в лекции, расчет стоимостных показателей выводит для каждого ресурса его учетную цену, а на ее основании - учетную стоимость.

Более подробную информацию об алгоритмах работы расчета стоимостных показателей (и связанных с ним алгоритом переоценки и разнесения затрат) можно получить из лекции.

Формат хранения учетных цен и стоимостей

Учетные цены рассчитываются за период, называемый периодом усреднения цен на выходе. Например, за месяц. Это означает, что, грубо говоря, у одинаковых ресурсов в течение всего месяца будет одна и та же цена, сложившаяся из цен остатков на начало месяца или всех приходов в течение месяца. Поскольку документов по выходам ресурсов в течение месяца может быть много, а цена одинаковая, то цена хранится не в самих документах, а в отдельной записи типа Управление.Данные.УчетнаяЦена, а в каждой строке документа хранится пара ссылок на записи этого типа - для цены «откуда» и цены «куда» (для многовариантного учета - несколько таких пар). Это позволяет, во-первых, при перерасчете цены изменять только одну запись, а не все документы, а во-вторых - не модифицировать документы при перерасчете цены.

Существуют также дополнительные соглашения по хранению учетных цен:

  1. если ссылка на учетную цену пуста, а количество ресурса измеряется в валюте, совместимой с валютой стоимостного учета, то учетная стоимость определяется как количество ресурса, пересчитанное в валюту стоимостного учета;
  2. существует специальная запись в таблице учетных цен, имеющая значение -1. Ссылка на эту запись хранится в общей переменной сервера расчетов УчЦенаПоВыходу. Ссылка на эту цену проставляется алгоритмом стоимостного расчета в поле ссылки на учетную цены со стороны «куда», и это означает, что учетная стоимость со стороны «куда» в точности равна учетной стоимости со стороны «откуда»;
  3. значение учетной стоимости может быть внесено вручную непосредственно в документ - для этого в строке документа предусмотрены соответствующие поля, и алгоритму стоимостного учета о них сообщается путем выбора их в настройке варианта стоимостного учета.

Как можно видеть, логика хранения учетных цен и стоимостей довольно сложна, что вызвана потребностью как в гибкости алгоритма, так и стремлением повысить его быстродействие. Поэтому для облегчения ввода и вывода ссылок на учетные цены и стоимости в документ в системе имеются специализированные сервисы.

Проверка и простановка ссылок на учетные цены перед расчетом стоимостей

Сам по себе алгоритм расчета стоимостных показателей рассчитан на то, что к его началу в строках документов, которые он обрабатывает, уже стоят правильные ссылки на записи справочника учетных цен. «Правильность» ссылки определяется соответствием содержимого строки документа и содержимого поля ЗначенияРазрезов в записи учетной цены. Таким образом, если в строке документа изменились, скажем, ресурс или процесс, то и ссылка на учетную цену должна указывать на другую запись, соответствующую уже новому ресурсу и процессу.

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

Также может быть указано, что ссылки не проверяются - т.е. алгоритм расчета стоимостных показателей может быть уверен, что ссылки на учетные цены в строках документов изначально стоят правильно. Это может быть достигнуто, если при настройке документов использовать специальные пересчеты, проставляющие ссылки на учетные цены прямо в процессе редактирования документа. Рассмотрим их ниже.

Настройка документа для простановки ссылок на цены в момент редактирования

Для простановки ссылок на учетные цены в документе служит реквизит класса Сервисная процедура, связанный с процедурой Сервис заполнения учетных цен в документе. Если данный реквизит является табличным, то он заполняет ссылки на учетные цены в соответствующей строке документа; если шапочным - то во всех строках документа, причем делает это быстрее, чем последовательный вызов таких же табличных реквизитов. Поэтому рекомендуется настроить два реквизита - сервис заполнения учетных цен: один из них будет табличным (ПроставитьУЦ), второй - шапочным (ПроставитьУЦВШапке). В настройках реквизитов следует указать вариант стоимостного учета, по которому будут расставляться ссылки, а также взвести флаг Параметры запроса цен брать из позиций документа - для того, чтобы расстановка производилась в соответствии с содержимым строки документа.

Сервис работает следующим образом:

  1. на основании процессов и ресурсов в строке документа (или настроек, заданных в самом реквизите) в справочнике учетных цен ищется подходящая цена, уже созданная там, скажем, предыдущим расчетом стоимостей;
  2. если такой цены нет, то в справочнике цен создается новая запись, и ссылка на нее проставляется в соответствующие поля в строке документа. Значение цены в этой новой записи может быть равно:
    • учетной цене предыдущего периода для такого же ресурса в таком же процессе (и с соответствием всех остальных разрезов стоимостного учета), если такая цена есть;
    • или нормативной цене данного ресурса, если есть прайс-лист нормативных цен и в сервисе установлена опция Автоматически создавать запись цены по нормативу, при ее отсутствии
    • либо 0.

Поиск и простановка ссылок на цены по данному алгоритму производится в зависимости от настройки стороны заполнения цен - по умолчанию для обеих сторон (Откуда и Куда), либо для стороны Откуда, либо для стороны Куда.

Для того, чтобы сервис проставлял цены при изменениях документа, рекомендуется завести отдельную библиотечную функцию и сделать в ней следующие настройки:

  • при изменении реквизита ДатаНачала изменить реквизит ПроставитьУЦВШапке по формуле по умолчанию (т.е. вызвать сервис простановки ссылок на учетные цены для всех строк документа). Это нужно, т.к. ссылки на учетные цены зависят от того, в какой период расчета попадает документ;
  • при изменении реквизитов РесурсОткуда, ПроцессОткуда, РесурсКуда, ПроцессКуда изменить реквизит ПроставитьУЦ (обратите внимание - табличный, а не шапочный, как в первом случае) также по формуле по умолчанию, т.е. перепроставить ссылки в конкретной изменяемой строке документа. Можно также оформить этот пересчет в виде автоматического пересчета, указав, от каких реквизитов зависит реквизит ПроставитьУЦ.
  • другие настройки, цель которых - перепроставить ссылки на учетные цены при изменении реквизитов документа, входящих в разрезы расчета стоимостей или влияющих на результат расчета.

Отображение учетных цен и учетных стоимостей

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

Рекомендуется настроить четыре табличных реквизита, каждый из которых будет вычисляться по формуле типа

УчЦенаОткуда(ВариантСтоимостногоУчета("Управленческий учет"))
УчЦенаКуда(ВариантСтоимостногоУчета("Управленческий учет"))
УчСуммаОткуда(ВариантСтоимостногоУчета("Управленческий учет"))
УчСуммаКуда(ВариантСтоимостногоУчета("Управленческий учет"))

После чего в библиотечную функцию, которую мы использовали в предыдущем разделе, рекомендуется добавить эти реквизиты в раздел автоматических пересчетов, указав, что они зависят от реквизитов, влияющих на учетную цену.Например, добавив реквизит «УчЦенаОткуда» в список автоматических пересчетов, войдите в редактор формулы и в табличку «Записи» добавьте реквизиты «РесурсОткуда», «ПроцессОткуда» и все другие реквизиты, при изменении которых должна измениться учетная цена. Строку формулы затем очистите, оставьте пустой - это означает, что будет использована формула по умолчанию. Такую же настройку проведите для остальных реквизитов.

 
doc/uch_tzeny_v_documente.txt · Последние изменения: 2016/04/15 15:26 (внешнее изменение)
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki