Как добавить свои проверки учета в ЗУП 3.1

1. frkbvfnjh 811 28.07.22 12:53 Сейчас в теме
Всем привет, кто знает как добавить свои проверки учета в ЗУП 3.1. Например нужно добавить дополнительные проверки по заполнению паспорту сотрудника или истечению договора и т.д. В Какие модули что дописать и как сделать что бы эти проверки в итоге были видны в справочнике ПравилаПроверкиУчета. Заранее спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. laperuz 47 28.07.22 12:56 Сейчас в теме
Недавно же статья была
https://infostart.ru/1c/articles/1694348/

Правда там служебные модули правятся, по идее нужно через КонтрольВеденияУчетаПереопределяемый делать.
3. frkbvfnjh 811 28.07.22 13:01 Сейчас в теме
(2) Ооооооооооооооооо, спасибо большое, то что нужно кажется!
4. laperuz 47 28.07.22 13:02 Сейчас в теме
(3)В принципе, т.к. это часть БСП изначально, а ЗУП ее внедряет у себя, можно посмотреть как ее ЗУПовцы внедрили, там как раз в КонтрольВеденияУчетаПереопределяемый добавляются свои(ЗУПовские) проверки, можно посмотреть как они сделали и сделать по аналогии через этот же общий модуль.
5. frkbvfnjh 811 28.07.22 13:21 Сейчас в теме
(4) Вот, это и нужно, прочитав стаю выше, могу заключить, что написана так себе, как я понял, в каждой конфе как раз таки идет свой способ внедрения и у ЗУПа конечно же свои особенности. Спасибо за наводку на общий модуль. Попытаюсь что нибудь понять. У меня всегда проблема, найти точку входа, т.е. какой метод нужно выполнить что бы все это взлетело (желательно не на воздух), т.е. что бы создались все эти элементы справочника которые не должны создаваться через режим предприятия, а только программно
6. laperuz 47 28.07.22 13:33 Сейчас в теме
(5) Да в принципе там должно быть все просто, без особенностей

В КонтрольВеденияУчетаПереопределяемый.ПриОпределенииПроверок() добавить что-то типа такого:
ГруппаПроверок = ГруппыПроверок.Добавить();
ГруппаПроверок.Наименование                 = НСтр("ru='Свои проверки'");
ГруппаПроверок.Идентификатор                = "СвоиПроверки";
ГруппаПроверок.КонтекстПроверокВеденияУчета = "СвоиПроверки";

Проверка = Проверки.Добавить();
Проверка.ИдентификаторГруппы = "СвоиПроверки";
Проверка.Наименование        = НСтр("ru='Проверка заполненности паспорта'");
Проверка.Причины             = НСтр("ru='Не заполнены данные паспорта.'");
Проверка.Рекомендация        = НСтр("ru='Заполнить данные паспорта.'");
Проверка.Идентификатор       = "ПроверитьЗаполнениеПаспорта";
Проверка.ОбработчикПроверки  = "СвойОбщийМодуль.ПроверитьЗаполнениеПаспорта";
Проверка.ДатаНачалаПроверки  = Дата('20140101000000');
Проверка.ЛимитПроблем        = 3;
Показать


И расширением добавить свой общий модуль(СвойОбщийМодуль), где достаточно 2 процедур, примерно так:

Процедура ПроверитьЗаполнениеПаспорта(Проверка, ПараметрыПроверки) Экспорт
	
	Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета") Тогда
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	Результат = РезультатПроверкиЗаполненностиПаспортов();
	УстановитьПривилегированныйРежим(Ложь);
	
	Если Результат.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
		
	Для Каждого Строка Из Результат Цикл
		МодульКонтрольВеденияУчета = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчета");
		Проблема = МодульКонтрольВеденияУчета.ОписаниеПроблемы(Строка.Ссылка, ПараметрыПроверки);
		Проблема.УточнениеПроблемы = НСтр("ru = 'Данные паспорта не заполнены.'");
		УстановитьПривилегированныйРежим(Истина);
		КонтрольВеденияУчетаБЗК.ЗаписатьПроблему(Проблема, ПараметрыПроверки);
		УстановитьПривилегированныйРежим(Ложь);
	КонецЦикла;
	
КонецПроцедуры


Функция РезультатПроверкиЗаполненностиПаспортов()
	
	//Здесь пишем всю логику, результатом должен быть массив проблемных сотрудников.
	
	Возврат НезаполненныеПаспорта;
	
КонецФункции
Показать
abasovit; user_2010; +2 Ответить
7. frkbvfnjh 811 28.07.22 13:40 Сейчас в теме
(6) Спасибо, а какой метод потом вызвать что бы он эти проверки добавил в справочник? Просто этот метод КонтрольВеденияУчетаПереопределяемый.ПриОпределенииПроверок(ГруппыПроверок, Проверки) Экспорт, уже имеет входные параметры, т.е.он тоже откуда-то вызывается. Глобальным поиском я нашел КонтрольВеденияУчетаСлужебныйПовтИсп.ПроверкиВеденияУчета(), это получается его нужно выполнить и новые проверки должны создаться?
8. frkbvfnjh 811 28.07.22 15:28 Сейчас в теме
(6) О, в итоге пришел к тому, что нужно выполнить обработку ОбновлениеВспомогательныхДанных с галочкой Контроль ведения учета, догадался по названию одного из метода который нашел глобальным поиском, уже даже не помню что и в какой последовательности искал. Спасибо за помощь, уже не в первый раз выручаете!
11. G_108408780541402684893 3 03.12.24 13:08 Сейчас в теме
(8)
ОбновлениеВспомогательныхДанных

Доброго времени суток, можете подсказать где взять эту обработку?
12. frkbvfnjh 811 04.12.24 11:43 Сейчас в теме
(11) Сам не помню откуда взяли, вроде на ИТС есть. Прикрепил ту, которой сам пользовался.
Прикрепленные файлы:
ОбновлениеВспомогательныхДанных.epf
G_108408780541402684893; +1 Ответить
13. G_108408780541402684893 3 04.12.24 12:05 Сейчас в теме
(12) Получилось, благодарю)
9. talib 29.07.22 11:23 Сейчас в теме
(6)
Спасибо, очень познавательно.
(7)
Запустил с параметром запуска /c ЗапуститьОбновлениеИнформационнойБазы - правила проверки учета обновились.
10. G_108408780541402684893 3 03.12.24 12:37 Сейчас в теме
Что-то не получается в ЗУПе сделать.. Вчера получилось, сегодня удалил расширение так как накосячил в справочнике, заново сделал, но теперь не появляется эта Своя проверка.. Конфа тестовая (копия)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот