0. Техподдержка 23.05.15 02:03

[Расширение] КоДан: Контроль ввода данных и доступа к данным [БП, УТ, ЗУП, УНФ, ERP]

Расширение позволяет без изменения кода конфигурации выполнять любые проверки при вводе данных, а также скрывать от пользователя недоступные ему данные.
Возможна настройка фильтров на вводимые данные с использованием СКД и выполнение произвольных действий над данными.
Не требует снятия конфигурации с поддержки, может использоваться с любой конфигурацией на платформе 8.3.6 или выше.

Перейти к публикации

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо
200. Frenz_bel 18.02.19 16:01 Сейчас в теме
Добрый день.Не работает скрытие в списках в списаниях и поступлениях безналичных средств.Конфигурация КА 2.4.6.189 платформа 8.3.12.1714 Адаптацию проводили,расширение под версию 2.4 ошибок нет.Запреты редактирования и просмотра работают нормально.Тоже скрытие в списках Заказа клиента работает корректно.
номер заказа 149025
201. john.doe 27.02.19 15:08 Сейчас в теме
подскажите, как в "ПередЗаписью" выяснить РежимПроведения?
202. akadelpher@gmail.com 17.03.19 07:23 Сейчас в теме
На последней УТ (11.4.7.114) тестировали?
204. Deep4ik 01.04.19 17:11 Сейчас в теме
Спасибо за отличное решение! Это именно то что искали!
205. maximis 03.04.19 13:04 Сейчас в теме
Добрый день, нашел ошибки. Создаем настройку для любого объекта и исключаем из нее пару пользователей в центре списка. Далее сохраняем настройку в файл, пишет, все хорошо, настройка сохранена. По факту, файл с настройкой создался, но в теле файла настройки нет. Тоже самое, если нажать на кнопку "Пересохранить настройки" - они просто удаляются.
206. maximis 03.04.19 15:11 Сейчас в теме
(205)
Создаем настройку для любого объекта и исключаем из нее пару пользователей в центре списка

Не пару пользователей в центре списка, а текущего.
207. maximis 03.04.19 16:17 Сейчас в теме
Исправление этих ошибок:
В обработке "ек_ПользовательскиеПроверкиИОбработчики" необходимо открыть форму "ФормаОсновная".

1. Исправление ошибки сохранения настроек в файл:
В модуле формы находим процедуру "ЭкспортНастроекНаСервере".
В этой процедуре находим строку:
ТекстЛога = "";
После нее вставляем строку:
ИмяОсновногоПользователя = Обработки.ек_ПользовательскиеПроверкиИОбработчики.ПолноеИмяНеуказанногоПользователя();
Далее в этой же процедуре, находим строку:
ЗначениеНастройки = ЗначениеНастройки = Обработки.ек_ПользовательскиеПроверкиИОбработчики.ПолучитьСтруктуруНастроек(СтрокаДанных.ИдентификаторОбъекта,,СтрокаДанных.ИдентификаторНастройки);
И заменяем ее на:
ЗначениеНастройки = Обработки.ек_ПользовательскиеПроверкиИОбработчики.ПолучитьСтруктуруНастроек(СтрокаДанных.ИдентификаторОбъекта, ИмяОсновногоПользователя, СтрокаДанных.ИдентификаторНастройки);

2. Исправление ошибки с пересохранением настроек:
В модуле этой же формы находим процедуру "ПересохранитьНастройкиНаСервере".
В этой процедуре находим строку:
ПустаяНастройка = Обработки.ек_ПользовательскиеПроверкиИОбработчики.ПолучитьПустуюСтруктуруНастроекПользователя();
После нее вставляем строку:
ИмяОсновногоПользователя = Обработки.ек_ПользовательскиеПроверкиИОбработчики.ПолноеИмяНеуказанногоПользователя();
Далее в этой же процедуре, находим строку:
СтруктураВсехНастроек = Обработки.ек_ПользовательскиеПроверкиИОбработчики.ПолучитьСтруктуруВсехНастроек(Метаданное.ИдентификаторОбъекта);
И заменяем ее на:
СтруктураВсехНастроек = Обработки.ек_ПользовательскиеПроверкиИОбработчики.ПолучитьСтруктуруВсехНастроек(Метаданное.ИдентификаторОбъекта, ИмяОсновногоПользователя);
Ну и наконец, находим строку:
ЗаполнитьЗначенияСвойств(НоваяНастройка,ЗначениеСохраненнойНастройки);
И после нее вставляем вот эти вот строки:
Если НоваяНастройка.НастройкиКомпоновщика.Отбор.Элементы.Количество() = 0 Тогда
НоваяНастройка.Удалить("НастройкиКомпоновщика");
НоваяНастройка.Удалить("ТекстСообщенияОбОшибке");
КонецЕсли;
Если Не ЗначениеЗаполнено(НоваяНастройка.ПриСозданииНаСервере) Тогда
НоваяНастройка.Удалить("ПриСозданииНаСервере");
КонецЕсли;
Если Не ЗначениеЗаполнено(НоваяНастройка.ПередЗаписьюНаСервере) Тогда
НоваяНастройка.Удалить("ПередЗаписьюНаСервере");
КонецЕсли;
210. tdrinkam1 04.04.19 17:26 Сейчас в теме
(207) Спасибо! Я с затиранием настроек при пересохранении в техподдержку больше года назад обращался - сказали проверят, а воз и ныне там.
212. maximis 04.04.19 21:06 Сейчас в теме
(210)
Что-то поддержка совсем сдулась, я и в личку писал предложения и тут на комментарии не отвечает.
tdrinkam1; akadelpher@gmail.com; +2 Ответить
211. tdrinkam1 04.04.19 17:46 Сейчас в теме
(207) Также для удобства использования я себе прикрутил:
1. отдельную закладку где можно скопировать настройки одного пользователя другому (при большом количестве настроек без этого никуда).
2. подкорректировал форму, чтобы в списке пользователей не отображались пользователи отмеченные как "недействительные" (это в УТ 11 у нас уволенные сотрудники). Иначе после определенного времени использования в списках рябит от лишних строчек.

Если надо могу скинуть для образца расширение с доработкой, себе прикрутите. Правда за качество кода не говорю, т.к. я любитель)
208. nursnab 04.04.19 10:16 Сейчас в теме
Добрый день! Купили обработку для УНФ, у нас версия УНФ 1.6.16.219. При попытке подключить пишет

(Критичная) : Не найден объект Документ.ЗаказНаПроизводство.Форма.ФормаЗаявки
(Критичная) : Не найден объект Документ.ЗаказПокупателя.Форма.ФормаЗаявки
209. maximis 04.04.19 13:09 Сейчас в теме
(208)
Используйте обработку АдаптацияРасширенийКонфигурации
akadelpher@gmail.com; +1 Ответить
213. akadelpher@gmail.com 04.04.19 21:47 Сейчас в теме
Установил на последнюю УТ. Попробовал со скрытием номенклатуры по условию. Задача скрыть от пользователей номенклатуру (дубли, мусор). В стандартном окне выбора в документ скрывает, в подборе уже нет. Так и должно быть или, что-то во время "адаптации" сломалось?
214. maximis 04.04.19 22:34 Сейчас в теме
(213)
Установил на последнюю УТ. Попробовал со скрытием номенклатуры по условию. Задача скрыть от пользователей номенклатуру (дубли, мусор). В стандартном окне выбора в документ скрывает, в подборе уже нет. Так и должно быть или, что-то во время "адаптации" сломалось?


Так и должно быть, обработка подбора не участвует в данном расширении.
akadelpher@gmail.com; +1 Ответить
(213) К расширению подключены только формы справочников и документов.
Подбор это обработка, поэтому в ней фильтры списков не работают.
Технически Вы можете самостоятельно подключить к расширению форму обработки подбора, скопировав код процедуры ПриСоздании() из модуля формы списка.
В этом случае расширение будет влиять на все динамические списки формы подбора. Т.е. фильтры будут накладываться аналогично фильтрам в формах списка номенклатуры.
akadelpher@gmail.com; +1 Ответить
216. nursnab 05.04.19 15:03 Сейчас в теме
Разобрались с адаптацией, настроили несколько правил. Теперь вылезла проблема, что пользователи в списке документов отменяют проведение, и затем уже изменяют и проводят заново. Как можно настроить? И как можно настроить запрет на пометку удаления документа?
217. tdrinkam1 05.04.19 15:36 Сейчас в теме
(216) запрет на пометку удаления: запретить запись объекта с условием "ПометкаУдаления равно "Нет".

при запрете записи объекта условие проверяется для итогового объект (после изменения в форме). не выполняется - запись запрещена.
при запрете изменения объекта условие проверяется для исходного объекта (до изменения его в форме). Если условие не выполняется - изменения не сохранятся.
218. nursnab 05.04.19 16:06 Сейчас в теме
(217) Либо мы что-то делаем не так, либо это не работает. Мы ставим пометку удаления, он отменяет измененения, но потом можно внести изменения, записать, отменить пометку удаления и провести.
219. tdrinkam1 05.04.19 16:20 Сейчас в теме
(218) уточните какая задача стоит, кому что надо запретить, кто, что и с чем делает, а то по вашей формулировке это непонятно.
220. nursnab 05.04.19 16:22 Сейчас в теме
Пользователи не должны менять проведенный документ ни в каком виде. Не пометив на удаление, ни из списка, вообще никак. Провели один раз, и все, только просмотр всем кроме администраторов. Ни отменить проведение, ничего нельзя чтобы сделать с ним.
221. maximis 05.04.19 16:40 Сейчас в теме
(220)
Не выйдет так сделать в списках, т.к. код "перед записью" добавлен только в формы. Я писал с предложением добавить его еще в модуль объекта, вот тогда бы это работало везде. Если конечно платформа не ниже 8.3.9.
222. tdrinkam1 05.04.19 16:45 Сейчас в теме
Кодан контролирует изменения объекта которые делаются через формы документа. А то что вам надо относится к изменениям как из формы, так и опосредованно (без открытия формы, например отмена проведения, пометка удаления через списки, журналы или, например, через структуру подчиненности и т.п.). ИМХО, тут нужны дописки в код конфигурации, или если не хотите снимать с поддержки и позволяет платформа и конфигурация, то написать несложное расширение. А кодан вам в этом не поможет.
Ну или попробовать пошаманить с ролями доступа.

Или создать доп.реквизит и для проведённых документов проверять и изменять его через обработку например раз в 5-10 минут. И вот уже значение этого доп.реквизита контролировать через кодан и на него повесить запрет изменения в документе (правда пометить на удаление или снять с проводки опосрежованно его можно будет, а вот изменять содержимое через форму уже не получится, даже сняв с проведения).
223. maximis 05.04.19 16:52 Сейчас в теме
Если посмотреть в описании сравнение версий, то последняя версия расширения получается аж 2.1.2. от 27.10.2017. Собственно или разработчик забросил расширение или ...
akadelpher@gmail.com; +1 Ответить
Выложено обновление до версии 2.1.6.
Все проверки при записи данных перенесены из модуля формы в модуль объекта. Это позволяет контролировать изменение данных в любых режимах работы, а не только из основной формы. Данное изменение реализовано только в продуктах, работающих в режиме совместимости 8.3.10 и выше. А именно для продуктов УТ11.4, КА2.4, ЕРП2.4, УНФ1.6, БП3.0.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
Полный день

Работа от Инфостарт
Санкт-Петербург
Временный (на проект)

Программист 1С
Новосибирск
зарплата от 80 000 руб.
Полный день

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день