close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Реализовать механизм тарифов в конфигурации Аренда и управление недвижимостью для
"1С:Бухгалтерия 8", редакция 2.0, конфигурация на момент начала работ
https://yadi.sk/d/XAQ8RnnyekjBW.
Техническое задание:
1. Создать периодический регистр сведений «Тарифы», периодичность день.
Измерения:
 «Вид объекта», тип СправочникСсылка.абс_ВидыОбъектовАренды.
 «Услуга», тип СправочникСсылка.Номенклатура.
 «Способ начисления», тип
СправочникСсылка.АР_СпособыНачисленияАренднойПлаты
Ресурсы:
 «Ставка», тип число 15, 2, неотрицательное.
2. Создать документ «Установка тарифов».
Реквизиты шапки:
 «Период», тип дата, состав дата. Назначение: дата начала действия тарифа.
 «Здание/этаж», тип СправочникСсылка.АР_ЗданияИЭтажи
Табличная часть:
 «Вид объекта», тип СправочникСсылка.абс_ВидыОбъектовАренды.
 «Услуга», тип СправочникСсылка.Номенклатура. В форме организовать выбор услуги
так же, как сделано в форме документа АР_ЗаключениеДоговораАренды — с
использованием процедуры АР_ОбщиеПроцедуры.ВыборУслуги().
 «Способ начисления», тип
СправочникСсылка.АР_СпособыНачисленияАренднойПлаты.
 «Ставка», тип число 15, 2, неотрицательное.
В форме документа создать кнопку «Заполнить», которая очищает табличную часть, если
она не пустая и заполняет колонку «Вид объекта» всеми видами объектов, которые
встречаются в здании/этаже из шапки, такие виды объектов находятся запросом к
справочнику «Объекты аренды» (СправочникСсылка.АР_ОбъектыАренды), где
здание/этаж равно зданию/этажу из шапки документа. Заполнение других колонок:
услуга берется из константы АР_УслугаАренда, способ начисления из константы
АР_ОсновнойСпособНачисленияАрендойПлаты. Ситуация наличия нескольких услуг
и/или способов начисления по одному виду объекта решается пользователем вручную
путем добавления нужного количества дополнительных строк. Перед записью выполнять
проверку соответствия видов объектов зданию/этажу, при наличии лишних видов
объектов выдавать сообщение об ошибке и отказ от записи. Так же перед записью
необходимо выполнять проверку на отсутствие строк с одинаковыми ключевыми полями,
если таковые имеются выдавать сообщение с указанием номеров строк, документ не
записывать.
Документ должен создавать движения по регистру «Тарифы», период берется из шапки
документа, остальные данные из табличной части. Обеспечить проверку заполнения всех
влияющих на движения реквизитов с использованием типовых методов
ЗаполнениеДокументов.ПроверитьЗаполнениеШапкиДокумента и
ЗаполнениеДокументов.ПроверитьЗаполнениеТабличнойЧасти. Обеспечить проверку на
наличие повторяющихся ключей регистра сведений, проверку реализовать в модуле
3.
4.
5.
6.
7.
набора записей, выдавать понятное пользователю сообщение с указанием, каким
конкретно документом (номер и дата) уже установлен тариф с такими же точно
ключевыми полями (периодом и набором измерений).
Реализовать печатную форму документа согласно макета https://yadi.sk/d/4B8cNBWekTL8, закладка «Печатная форма». Основные примечания к печатной форме:
 Указывать полное наименование здания/этажа (реквизит справочника
ПолноеНаименование)
 В подвале добавить статическую надпись вида «Руководитель: _____ /____/» под
подпись и рукописную расшифровку.
В этом же файле указан примерный вид формы документа.
Настроить права доступа к новым объектам. Добавить новую роль «Установка тарифов»,
дать полные права на регистр и документ кроме:
4.1. интерактивное удаление документа
4.2. интерактивное редактирование регистра (только через движения документа)
Так же необходимо обеспечить, чтобы права доступа к указанным объектам были
исключительно у этой роли, поэтому, принимая во внимание тот факт, что конфигурация
находится на поддержке и обновляется, а роль «Полные права» имеет флаг
«Устанавливать права для новых объектов», необходимо написать кодом проверку на
РольДоступна в модуле документа и в модуле набора записей регистра перед записью.
Создать отдельный интерфейс, который будет добавляться к уже существующим. В
интерфейс включить вновь созданный документ.
Реализовать использование тарифов в документе АР_ЗаключениеДоговораАренды
следующим образом:
6.1. Реализовать единую функцию вычисления ставки запросом по указанным
параметрам – услуга + вид объекта + способ начисления по правилу: брать срез
последних на дату документа, вид объекта получать из реквизита абс_ВидОбъекта
объекта аренды, в случае, если любой из параметров пустой (услуга или вид объекта),
возвращать 0, если тариф не получен так же возвращать 0. Вызывать данную
процедуру по событиям изменения услуги, объекта и способа начисления, результат
функции подставлять в поле «Ставка». Типовое заполнение по регистру
АР_ЦеныНаАренду не производить.
6.2. Аналогичным образом реализовать заполнение ставки в справочнике
«СправочникСсылка.АР_ГрафикиИзмененияСтавокНаУслуги», данные для
заполнения брать из документа – владельца (см. процедуру
ПостояннаяЧастьАренднойПлатыСтавкаОткрытие формы документа «заключение
договора аренды»)
Подумать, как минимизировать количество запросов к базе данных и дублирование кода:
при заполнении элемента справочника «график» ставка будет одинаковой во всех
колонках, ее нужно только подставлять, значит нужно обеспечить разовое выполнение
запроса и подстановку результата в каждой строке (не создавать запрос на каждую
строку).
Ограничить редактирование ставки в документе. Для этого добавить новую роль
«ПравоРедактированияСтавки», в форме документа «заключение договора аренды » и в
форме элемента справочника «графики…» - управлять доступностью колонки «Ставка»
по признаку РольДоступна().
Весь код в типовых объектах в обязательном порядке заключить в комментарии в
начале и в конце добавленного кода. Учитывать тот факт, что конфигурация будет
обновляться.
1/--страниц
Пожаловаться на содержимое документа