Сделал 5 билет. Прошу оценить и ткнуть на существенные недостатки.
Сразу задам пару вопросов уважаемым коллегам по цеху:
1) Как вам моя процедура ПриЗаписи() в модуле Операции?
На мой взгляд это простая и понятная, а главное верная последовательность:
1-в движениях устанавливаем Период из Даты документа
2-если док записан, то у помеченного документа отключаем активность
2) Прошу оценить мою блокировку в ОперУчете док РН
В своем решении я блокирую регистр Дебеторка по Проекту документа и пустому проекту.
Для этого поместил эти два проекта в ТЗ и подсовываю ее как источник данных.
Проверил на серверной базе, оба проекта блокируются, то есть пока идет транзакция, прочитать данные по ним невозможно,
однако, у меня такое чувство, будто это как-то громоздко. Может есть более изящное решение?
Блок = Новый БлокировкаДанных;
Эл = Блок.Добавить("РегистрНакопления.Дебеторка");
Эл.УстановитьЗначение("Контрагент", Контрагент);
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Проект");
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Проект = Проект;
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Проект = Справочники.Проекты.ПустаяСсылка();
Эл.ИсточникДанных = ТЗ;
Эл.ИспользоватьИзИсточникаДанных("Проект", "Проект");
Блок.Заблокировать();
3) Вопрос по Бизнес-процессам:
Точка маршрута «ПолучениеОплаты» имеет адресацию «Любой бухгалтер». В точке я установил адресацию только по Должность=Бухгалтер. При этом, в РегистреАдресации было заполнено, как указано в задании: Кротов – Бухгалтер – Бухгалтерия.
При таких настройках у пользователя Кротов задача в списке не появилась.
Чтобы увидеть задачу в списке задач пользователя, я создал еще одну запись в РегистреАдресации: Кротов – Бухгалтер - ____, то есть с пустым подразделением.
Внимание вопрос: правильно ли я понимаю, что кроме записей, указанных в задании надо создать еще и все записи, необходимые для того, чтобы задачи отображались у пользователей так, как это указано на схеме маршрута?
Тогда, если в адресации точки маршрута сказано «любой бухгалтер», то для каждой записи «Бухгалетр» с указанным подразделением, надо создать еще одну запись с пустым подразделением. А по адресации «Любой сотрудник бухгалтерии» надо создать запись с пустой должностью для каждой записи в которой указано Подразделение «Бухгалтерия».
Соответственно, если в адресации точки будет указано просто «Бельдыев», то надо создать еще и запись «Бельдыев»-___-___, то есть с пустыми должностью и подразделением.
4) Для обновления схемы Бизнес-процесса, на сколько я понимаю, надо после ПолучитьКартуМаршрута() прямо НаСервере переключить видимость сетки, а затем еще раз переключить видимость сетки, но уже НаКлиенте.
5) Для расчета Премии использовал продажи по Подразделению, которые оборотами накапливал в БУ на счете Прибыли (оборотное субконто2 Подразделение).
Вроде все красиво, как Вы считаете?