gifts2017

Подсистема "Настройка контроля заполнения объектов в момент записи 3.1.3" для 1С: Предприятия 8.1 / 8.2

Опубликовал Сергей Ожерельев (Поручик) в раздел Администрирование - Оптимизация БД (HighLoad)

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

Данная подсистема является глубокой модификацией  Настройка контроля заполнения справочников и документов в момент записи v.2 (настолько глубокой, что от прототипа осталась только идея).

Возможности:

1. Вывод дополнительного сообщения при ошибке записи.

2. Контроль заполнения реквизитов задач, планов обмена, планов видов характеристик.

3. Установка произвольного алгоритма на встроенном языке для расширенной проверки реквизитов. Например, может потребоваться проверка реквизита в зависимости от типа операции документа, других условий.  Подробное описание применения алгоритма смотрите в справочной информации формы "ФормаРедактированияАлгоритма" регистра сведений "КонтрольЗаполненияРеквизитов".
Некоторые примеры произвольных алгоритмов содержатся в файле НастройкаКонтроляРеквизитов.zip. Содержимое распаковать, в базу залить с помощью обработки УниверсальныйОбменДаннымиXML, для просмотра регистра рекомендую обработку Универсальный просмотр списков и табличных частей.

4. Установка контроля в зависимости от режима записи  документа: Запись, Проведение, ОтменаПроведения. По умолчанию контроль документов происходит при всех режимах записи: Запись, Проведение, ОтменаПроведения.

5. Экспорт/импорт правил контроля в файл формата XML.

6. Проверка синтаксиса текста алгоритма.

7. Кэширование запросов к регистру на сервере.

8. Отключение проверки для пользователей с полными правами.

9. Настройка порядка проверки реквизитов.

Внесены также другие изменения, в частности запрос на сохранение информации при случайном нажатии на кнопку "Закрыть" или клавишу Esc.

 

Состав:

  • Подсистема КонтрольЗаполненияРеквизитов, _СервисныеМеханизмы. 
  • Регистр сведений КонтрольЗаполненияРеквизитов с формами установки контроля объектов, редактирования алгоритмов проверки, общих настроек.
  • Подписка на событие КонтрольЗаполненияСправочников, КонтрольЗаполненияДокументов.
  • Общие модули КонтрольЗаполненияРеквизитов (клиентские процедуры), КонтрольЗаполненияРеквизитовСервер (серверные процедуры).
  • Роли кр_ЧтениеНастроекКонтроляРеквизитов (для пользователей), кр_ИзменениеНастроекКонтроляРеквизитов (для администратора базы).
  • Константа крОбщиеНастройкиКонтроляОбъектов (для хранения общиих параметров подсистемы).
  • Параметр сеанса крКэшНастроекКонтроляОбъектов (для временного хранения результатов запросов).
  • Интерфейс "КР: Контроль реквизитов" (для доступа к объектам подсистемы)
  • Обработка Матрица ролей пользователей (расширенная) для 1С: Предприятия 8.1 для установки необходимых ролей пользователям.

 

Подсистема встраивается в любую конфигурацию для платформы 1С: Предприятие 8.1 / 8.2 (для обычного приложения) и не мешает обновлению. В общем случае изменений существующих объектов конфигурации не требуется (см. ниже). 

Встраивание производится в режиме конфигуратора. Меню Конфигурация -> Сравнить, объединить с конфигурацией из файла.
ВНИМАНИЕ! Перед началом объединения не забудьте снять флажок "Свойства" основной конфигурации.

Перед началом работы с подсистемой назначить пользователям ИБ, производящим какие-либо действия по изменению данных, роль кр_ЧтениеНастроекКонтроляРеквизитов. Назначить роли пользователям можно на закладке "Установка ролей" формы регистра КонтрольЗаполненияРеквизитов или с помощью обработки Матрица ролей пользователей.


Замечания по использованию кэширования запросов.

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

 

Достоинства

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

Скачать файлы

Наименование Файл Версия Размер
Примеры произвольных алгоритмов в формате файла обмена XML 162
.zip 12,83Kb
25.03.12
162
.zip 12,83Kb Бесплатно
Подсистема Настройка контроля заполнения объектов (расширенная) 8.1, 8.2.zip 511
.zip 572,06Kb
11.03.13
511
.zip 572,06Kb Бесплатно
Подсистема "Настройка контроля заполнения объектов в момент записи 3.1.3" для 1С: Предприятия 8.1 / 8.2
23.05.2014
1000 руб.

Моментальная
доставка

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сергей Ожерельев (Поручик) 24.10.09 16:56
Кто успел скачать, возьмите новый файл, пофиксил маленький глюк, связанный с проверкой реквизита.
2. Сергей Старых (tormozit) 24.10.09 19:39
Можно было бы и поддержку контекстной подсказки сделать http://infostart.ru/public/14700/. А то уж больно неудобно алгоритмы так писать.
3. Сергей Ожерельев (Поручик) 24.10.09 21:21
4. Сергей Ожерельев (Поручик) 24.10.09 21:41
Блин, что за глючный двиг на сайте. Когда скачиваете, вводите руками расширение .cf. Новый файл залью только в понедельник
5. Eugeneer (Eugeneer) 25.10.09 21:49
Нормуль. Незнаю дорабатывал ли ты оптимизацию, на своей оригинальной версии через отладчик я отловил значительные тормоза, которые стоило бы прилично оптимизировать.
6. Eugeneer (Eugeneer) 25.10.09 21:52
Я уже думал над этим но все руки не доходят, в оптимизации разработка нуждается, посмотри отладчик на замер. алгоритм контроля не очень хорош особенно на клиенте. Там работы еще непаханное поле.
7. Сергей Ожерельев (Поручик) 25.10.09 22:24
Я знаю, что надо оптимизировать и где. Пока приклеил фичи, до кардинальной переработки руки потом дойдут. А пока постим баги.
8. Сергей Ожерельев (Поручик) 26.10.09 11:00
(2)
Насчёт контекстной подсказки сейчас думаю, а надо ли огород городить ради одной единственной формы. Не думаю, что фича по расширенной проверке реквизита будет сильно востребованной, да и расчитана она всё-таки на прогера.
9. Сергей Ожерельев (Поручик) 26.10.09 16:43
Как выразился мой бывший коллега, продолжаем страдать ерундой. :D

Новая версия подсистемы.
+ Кардинальная переделка кода
+ Попытка оптимизации при проверке реквизитов
+ Для удобства использования в нетиповых конфигурациях добавлена процедура крСообщитьОбОшибке() в модуль КонтрольЗаполненияРеквизитов, которая является аналогом процедуры ОбщегоНазначения.СообщитьОбОшибке() типовых конфигураций.

Поддержка контекстной подсказки от tormozit пока не реализована. :(
10. AlexBar (AlexBar) 29.10.09 00:54
Вы используете механизм подписки и проверяете реквизиты на заполнение. При этом может быть ситуация, когда имя (синоним) реквизита не совпадает с именем элемента формы и тогда предупреждение для пользователя становится не информативным. Кроме того, стоило бы упамянуть о том, что при помощи алгоритма можно заполнять реквизиты значениями по умолчанию. Попробуйте проверить работу механизма на связанной информацией. К примеру наложить запрет записи при не заполненном реквизите договора контрагента и создайте нового контрагента (речь идет о типовой конфигурации УТ, УПП, БП..) или через мастера ввода нового контрагента.
11. Сергей Ожерельев (Поручик) 29.10.09 07:03
>>> При этом может быть ситуация, когда имя (синоним) реквизита не совпадает с именем элемента формы и тогда предупреждение для пользователя становится не информативным.
Для этих целей есть поле дополнительная информация об ошибке или произвольный алгоритм, в котором можно вывести любую информацию.
12. Сергей Ожерельев (Поручик) 29.10.09 07:14
Пример проверки номера ГТД в УТ. Номер ГТД - это код элемента справочника

Пишем в алгоритме (при снятном флажке контроля)

Если НЕ ЗначениеЗаполнено(Реквизит) Тогда
	КонтрольЗаполненияРеквизитов.крСообщитьОбОшибке("Не заполнен номер ГТД", Отказ, Строка(Объект));
КонецЕсли;


Пример проверки поля проект в РеализацииТоваровУслуг (применяется на предприятии автора этих строк)
ВедениеУчетаПоПроектам = УправлениеПроектами.ВедениеУчетаПоПроектам(КонецДня(Объект.Дата));
Если ВедениеУчетаПоПроектам И НЕ ЗначениеЗаполнено(Реквизит) Тогда
	КонтрольЗаполненияРеквизитов.крСообщитьОбОшибке("Не заполнено значение реквизита ""Проект"" на вкладке ""Дополнительно""", Отказ, Строка(Объект));
КонецЕсли;
...Показать Скрыть
13. Сергей Ожерельев (Поручик) 29.10.09 11:19
Обновление подсистемы
+ небольшие изменения в коде.
+ игнорирование реквизитов с булевым типом, так как их проверка не имеет смысла.
14. Артур Аюханов (artbear) 03.11.09 15:02
(0) ИМХО в подсистеме не хватает 2-х ролей
одна для чтения данного регистра для возможности работы всех пользователей.
вторая для возможности изменения настроек - т.е. для администратора базы.

ЗЫ например, при вставке подсистемы в типовую конфу не хочется менять типовые роли.
15. Сергей Ожерельев (Поручик) 03.11.09 15:06
Не хватает. Буду апдейт делать, добавлю
16. Сергей Ожерельев (Поручик) 04.11.09 13:45
(14) и все, все, все
Обновление подсистемы
+ введены две роли кр_ЧтениеНастроекКонтроляРеквизитов (для пользователей), кр_ИзменениеНастроекКонтроляРеквизитов (для администратора базы).
+ косметические изменения в модуле формы ФормаУстановкиКонтроля.
+ изменения в модуле КонтрольЗаполненияРеквизитов. Для использования в алгоритме проверки введены две переменные:
ПустойРеквизит - Булево - Истина, если значение реквизита не заполнено.
СообщениеОбОшибке - Строка - По умолчанию пусто. Если в алгоритме присвоить какое-либо значение, сообщение об ошибке выйдет в окне сообщений, параметр Отказ установится в Истина, объект записываться не будет.

Пример использования:
Проверяем заполнение реквизита Проект в документе РеализацияТоваровУслуг

ВедениеУчетаПоПроектам = УправлениеПроектами.ВедениеУчетаПоПроектам(КонецДня(Объект.Дата));
Если ВедениеУчетаПоПроектам И ПустойРеквизит Тогда
    СообщениеОбОшибке = "Не заполнено значение реквизита ""Проект"" на вкладке ""Дополнительно""";
КонецЕсли;
...Показать Скрыть
17. Артур Аюханов (artbear) 07.11.09 10:33
(13) А почему игнорируешь булевые значения? из-за скорости обработки или еще что?
например, в типовых конфах важен флаг "Учитывать НУ" и т.п.
18. Сергей Ожерельев (Поручик) 07.11.09 10:48
Нет смысла, так как такой реквизит всегда заполнен.
См. матчасть
ЗначениеЗаполнено
Возвращаемое значение:
Тип: Булево. Для значений типа Булево всегда возвращается Истина.

Впрочем кому надо, могут закомментировать строки в модуле формы ФормаУстановкиКонтроля (в двух местах)

	Если Реквизит.Тип.Типы().Количество() = 1 И Реквизит.Тип.Типы()[0] = Тип("Булево") Тогда
		Продолжить;
	КонецЕсли; 
19. Сергей Ожерельев (Поручик) 07.11.09 11:03
А если не хочется курочить код подсистема, так в вашем распоряжении произвольный алгоритм. Проверку любого реквизита можно организовать в любом поле.
Вот такие извратства в нашей базе.

Если ПустойРеквизит И (Объект.Контрагент.ЮрФизЛицо <> Перечисления.ЮрФизЛицо.ФизЛицо) Тогда 
	Сообщение = "Возможно требуется заполнить дату доверенности на закладке ""Печать"".";
	КонтрольЗаполненияРеквизитов.крСообщитьОбОшибке(Сообщение, , Строка(Объект));
КонецЕсли;
Если НЕ ПустойРеквизит И (КонецДня(Реквизит) > КонецДня(Объект.Дата)) Тогда 
	СообщениеОбОшибке = "ВНИМАНИЕ!!! Дата выдачи доверенности больше даты документа. Смотрите закладку ""Печать""."; 
КонецЕсли;
...Показать Скрыть
20. Артур Аюханов (artbear) 07.11.09 11:24
(19) Так для произвольных алгоритмов булевые значения все-таки доступны или нет?
Тогда что за код в (18) -просто проверка перед ЗначениеЗаполнено ?
21. Сергей Ожерельев (Поручик) 07.11.09 11:45
Через параметр Объект в алгоритме вы получаете доступ к любому реквизиту, табличной части, реквизиту табличной части, точно также, как это реализовано в типовой обработке "Универсальные подбор и обработка объектов" (см примеры внимательней).

Код в (18) это проверка типа метаданных при заполнении формы.
22. Сергей Ожерельев (Поручик) 13.11.09 15:02
Обновление подсистемы
+ для использования в алгоритме добавлена переменная ИнформацияПользователю - Строка - По умолчанию пусто. Если в алгоритме присвоить какое-либо значение, сообщение выйдет в окне сообщений как информационное без отказа от записи объекта.
+ изменения в коде и справочной информации
23. Сергей Ожерельев (Поручик) 17.11.09 14:24
То, что качаем и мало плюсуем, это хрен-то с этим. А вот качаем и не высказываем пожелания, значит всё зашибись, больше не развиваем.
Есть ещё соображения и потребности по дальнейшему развитию подсистемы, но видно придётся делать только для внутреннего употребления.
24. Артур Аюханов (artbear) 17.11.09 15:26
(23) А что еще хочешь менять/дорабатывать?
25. Сергей Ожерельев (Поручик) 17.11.09 17:00
1. Разделить контроль для справочников и документов. Для документов ввести возможность контроля в зависимости от режима записи.
2. Доработка формы записи алгоритма. Сейчас, чтобы написать изысканный код проверки, связанный с другими реквизитами объекта, надо держать нараспашку конфигуратор или помнить все метаданные объекта.
3. Возможно, что-то ещё.
26. Asdam (Asdam) 17.11.09 17:45
27. Сергей Гуров (hansel) 10.12.09 22:38
Работает. Проверено.
Автор, пиши ещё :)
28. Сергей Ожерельев (Поручик) 11.12.09 00:30
(27) Было бы странно, если не рваботало, так как то, что представлено здесь, эксплуатируется в рабочей базе и спасает автора от многих проблем.
Буду писать ещё, подсистема нуждается в доработках, но текучка не позволяет занятся ею вплотную
29. Сергей Ожерельев (Поручик) 10.01.10 15:55
Текучка, Новый год, каникулы, etc.
Впрочем, новая версия в муках, но рождается. Кое-что из перечисленного ранее уже работает в рабочей базе. Может на следующей неделе выложу.
30. Asdam (Asdam) 16.01.10 16:46
(29) Как раз нужно обновить рабочую конфигурацию. Выложи, плиз, обновление.
31. Илья (Cyberboy) 16.01.10 22:42
А если нужно поставить для реквизита тип=Булево контроль, как это сделать?
32. Сергей Ожерельев (Поручик) 17.01.10 19:24
(31)
Почитай тему с начала, вроде всё сказано
33. Сергей Ожерельев (Поручик) 17.01.10 19:26
(30), выкладывать особо нечего, сделан только п. 1 из (25)
34. Сергей Ожерельев (Поручик) 17.01.10 20:09
Залил новый файл
http://infostart.ru/public/59452/forum/topic/30554/
Дальнейшие обсуждения там.
35. Сергей Ожерельев (Поручик) 31.01.10 02:11
36. Сергей Ожерельев (Поручик) 08.02.10 02:40
37. Сергей Ожерельев (Поручик) 08.02.10 13:26
После апдейта обнаружились баги.
Просьба пока не скачивать, исправления выложу после 22.00 мск.
38. Сергей Ожерельев (Поручик) 09.02.10 03:44
Залил пофиксенный файл.
39. Андрей (1СПрограммер) 26.04.10 12:48
Спасибо, очень помогла в разработке моего механизма "проверки заполенности уже созданных документов":)
40. Светлана Заиченко (svetik789) 20.05.10 18:58
Не работает с РИБ ( при обмене с узлами выдает ошибку: Ошибка при записи изменений при обмене: Ошибка при вызове метода контекста (ЗакончитьЗапись): Ошибка при выполнении обработчика - '{ОбщийМодуль.КонтрольЗаполненияРеквизитов(229)}: Поле объекта не обнаружено (ОбменДанными)'
41. Сергей Ожерельев (Поручик) 20.05.10 20:17
Всё понял :)
// Планы обмена свойства ОбменДанными не имеют

Самое тупое решение, чтобы не заморачиваться с проверками типа объекта, позаимствовано из типовой
#
#----- [OPEN] ----------
#
ОбщийМодуль.КонтрольЗаполненияРеквизитов

#
#----- [FIND] ----------
#
	Если Отказ ИЛИ Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
#
#----- [REPLACE WITH] ----------
#
	Если Отказ Тогда
		Возврат;
	КонецЕсли;

	Попытка // Планы обмена свойства ОбменДанными не имеют
		Если Источник.ОбменДанными.Загрузка Тогда
			Возврат;
		КонецЕсли;
	Исключение
	КонецПопытки;
...Показать Скрыть

42. Сергей Ожерельев (Поручик) 20.05.10 20:20
Пожалуй, сечас залью новую конфу
43. Сергей Ожерельев (Поручик) 01.06.10 16:53
Обновление подсистемы
+ Возможность выбора и вставки в алгоритм контроля параметров сеанса, констант, реквиитов контролируемого объекта.
+ Расширен список предопределённых переменных.
+ В общий модуль КонтрольЗаполненияРеквизитов введена универсальная экспортная функция ПолучитьРеквизитыОбъекта(), позволяющая прочитать в структуру или простую переменную значения указанных или всех реквизитов произвольного объекта ссылочного типа.

+ Изменения в коде, справочной информации.
45. Артур Аюханов (artbear) 08.06.10 11:08
(43) а почему у измерений и ресурсов регистра вообще нет признака "Индексировать" ?
с индексами запрос же побыстрее будет :)
ИМХО будет критично, когда правил станет довольно много.
46. Сергей Ожерельев (Поручик) 08.06.10 17:53
(45)
Как-то не обращал внимания, это наследие оригинальной конфы. Впрочем сделать недолго, через час-два залью апдейт.
47. Сергей Ожерельев (Поручик) 16.06.10 23:41
Обновление подсистемы от 17.06.2010
+ добавлены несколько переменных для использования в произвольном алгоритме.
48. Сергей Ожерельев (Поручик) 20.07.10 23:07
Обновление подсистемы от 21.07.2010
+ изменён интерфейс (список объектов в виде дерева).

----------
в планах на будущее - экспорт/импорт правил контроля
49. Сергей Ожерельев (Поручик) 22.07.10 01:15
Обновление подсистемы от 22.07.2010

+ Экспорт/импорт правил контроля в/из файл формата XML.
+ Изменения в коде, справочной информации.

--------------
Подсистема приобретает цивилизованный вид.
50. Сергей Ожерельев (Поручик) 22.07.10 15:16
Обновление подсистемы от 22.07.2010 (спустя 12 часов)
+ Переделан экспорт/импорт правил в файл обмена (универсальность кода, различные проверки корректности файла)
51. Сергей Ожерельев (Поручик) 23.07.10 00:34
Обновление подсистемы от 23.07.2010
+ в форме записи файла обмена добавлен флаг "Очищать регистр-приёмник перед записью данных"
+ в отборе формы записи сделан более удобный выбор объектов метаданных для выборочного эскпорта правил.
52. Олег Шалимов (CaSH_2004) 06.08.10 08:25
Замечательная система, но хотелось бы сделать несколько замечаний-предложений
1. Я не нашел нигде в подсистеме информации о ее версии, думаю это очень важно для такого продвинутого решения, а вот информацию о разработчике из заголовка формы я бы убрал или туда и добавил версию и дату модификации
Вообще для серьезной разработки (ИМХО это очень серьезная разработка) нужно вести какую-то историю модификаций-версий
2. для красоты и юзабилити я бы в список регистра "Установка контроля...." добавил картинки типов (Справочник, Документ) или в колонку "Тип реквизита" или в колонку "Представление реквизита"
3. И (самое интересное) бывает необходимо чтобы при неправильном заполнении объекта нужно не только сообщить и предотвратить но и проконтролировать, а кто пытался сделать неправильно. Это позволяет выявить пользователей-косячников которые постоянно везде косячат. Это предложение только если ты хочеш разрабатывать и дальше свой функционал.
4. Далее т.к. форма твоего регистра напоминает панель настроек то я бы кроме ссылок на списки документов добавил кнопку ссылки на список пользователей ИБ чтобы можно было "не отходя от кассы" проверить их роли кр_ЧтениеНастроекКонтроляРеквизитов и кр_ИзменениеНастроекКонтроляРеквизитов, и может даже добавить контрольный отчет с показом всех пользователей у кого не стоит роль на чтение, ведь тогда проподает смысл настраивать если забыл установитьэту роль!
5. Добавил подсистему и почему то получил все права ее редактировать хотя не стоит роль ИзменениеНастроекКонтроляРеквизитов, но стоит роль ПолныеПрава (у меня УТ 10.3.10.4), может из-за этого, но тогда об этом нигде не слова, а желательно сказать

Вопросы:
где происходит обсуждение разработки тут или на http://infostart.ru/public/59452/forum/topic/31149/
у меня почему то говорит "У вас не достаточно прав на просмотр форума."
не в курсе почему?

ОГРОМНОЕ СПАСИБО ЗА ТВОЙ ТРУД, обработка СУПЕР удобная и полезная
Если выбью из клиентов деньги за ее внедрение и научусь их переводить то обязательно кину мани
53. Олег Шалимов (CaSH_2004) 06.08.10 08:28
Дополню:
6. при ошибке в коде контроля при попытке записи пишет:
Расходный кассовый ордер Ш-000000009 от 03.08.2010 22:24:57: Ошибка при выполнении алгоритма контроля.
Ошибка компиляции при вычислении выражения или выполнении фрагмента кода

желательно чтобы и код показывало а заодно на проверке какого реквизита сыпется, это было бы удобно
54. Олег Шалимов (CaSH_2004) 06.08.10 08:39
Еще
7. При настройки контроля реквизита или произвольного алгоритма было бы нагляднее если бы строка или реквизит в списке регистра выделялся жирным что ли - показатель того что этот реквизит контролируется
8. аналогично п.7 было бы неплохо как то выделять (может жирным) те объекты метаданных в дереве списка которые имеют контроль
9. бывает необходимо на время отменить контроль проверки реквизита, но у тебя нигде нет такого механизма типа "Обрабатывать...", вместо этого приходится снимать галку с контроля (а ведь можно и забыть ее поставить обратно) или полностью стирать код (или ставить в нем условие чтобы не выполнялся)
Думаю нагляднее было бы добавить поле типа "Обрабатывать" для отключения контроля ну и соответственно кнопку ВКЛ/ВЫКЛ "Обрабатывать" всех контролируемых реквизитов - чтобы если проблема с записью не гадать что да как а просто отключить и разобратся потом не мешая работе пользователей
Данный режим тоже желательно выделять как-то

Хотелось бы услышать что думаешь по поводу пожеланий
56. Сергей Ожерельев (Поручик) 06.08.10 18:12
Много написано, сейчас будем осмысливать. В общем не против, а материальная благодарность только добавит энтузиазма.

1. История версий. Лень заниматься летописью, откровенно. Ну начнём новую версию с номера 3.0.7, а в заголовке он ни к чему.
2. Ненужное украшательство, тем более что подсистема относится к разряду инструментов администратора.
3. Можно сделать, только куда писать логи? В журнал регистрации?
4. Список пользователей с правами на регистры подсистемы и установка прав - это нужно. Сам иной раз путаюсь.
5. С этим не разбирался.
6. Сделаем, иногда самому непонятно, где именно баг.
7. Есть флажок "Контроль", от раскраски будет в глаза рябить.
8. Это можно.
9. Принимается, подумаю, как проще сделать.

где происходит обсуждение разработки

Предполагалось в форуме разработки, но двиг стал какой-то глючный, так что хрен с ним.
57. Сергей Ожерельев (Поручик) 06.08.10 18:23
Некоторые моменты возможно сделаю сегодня, остальное до конца месяца. Сейчас больше охота с пользой дела поваляться на пляже, пока жарко и можно загорать.
58. Олег Шалимов (CaSH_2004) 06.08.10 20:15
Я тебе в переписку кинул сообщение как я это сделал
59. Сергей Ожерельев (Поручик) 07.08.10 00:24
Обновление подсистемы от 06.08.2010
Версия подсистемы 3.0.7

+ добавлены две переменные для использования в алгоритме
+ пометка цветом контролируемых объектов в списке.
+ расширенное сообщение о критической ошибке в алгоритме.

+ изменения в коде, справочной информации.

---------------
(58)
п.8. немного по-другому сделал, с кэшированием списка объектов.
60. Сергей Старых (tormozit) 07.08.10 12:58
Алгоритм по-прежнему пишем без подсказки и синтакс-контроля?)
61. Сергей Ожерельев (Поручик) 07.08.10 13:10
Представь себе. Предлагаешь своего монстра вкрутить? Два метра балласта в конфе не много ли будет.
62. Сергей Ожерельев (Поручик) 07.08.10 13:13
Хотя попробую сделать простой синтаксис-контроль.
63. Сергей Ожерельев (Поручик) 08.08.10 01:50
Обновление от 08.08.2010
Версия подсистемы 3.0.8

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


-----
TODO
- кэширование результатов запроса к регистру в параметрах сеанса
- включение/отключение кэширования
64. Андрей Куканов (KukA.5) 08.08.10 15:26
Очень интересная и безусловно полезная работа! Даже не верится, что бесплатно. Стоит выпустить коробочный продукт, наверное....
65. Олег Шалимов (CaSH_2004) 08.08.10 15:56
Поручик, неужели удобство и красота разработки не стоит 2 мегов? мне кажется для современных рессурсов это не о чем
может все таки добавиш? плиз!
66. Сергей Ожерельев (Поручик) 08.08.10 16:01
Да что плиз, желающие могут проинвестировать и будет счастье.
Лично мне оно не шик как надо.
67. Сергей Ожерельев (Поручик) 10.08.10 05:08
Обновление от 10.08.2010
Версия подсистемы 3.0.9

Изменения в коде:
+ включение/отключение кэширования запросов к регистру.
+ временное отключение проверки реквизитов.
+ включение/отключение проверки для пользователей с полными правами.
+ включение/отключение проверки реквизитов с логическим типом данных.


Изменения в метаданных:
+ Константа крОбщиеНастройкиКонтроляОбъектов (для хранения общиих параметров подсистемы).
+ Параметр сеанса крКэшНастроекКонтроляОбъектов (для временного хранения результатов запросов).
+ Общий модуль КонтрольЗаполненияРеквизитовСервер (серверные процедуры).
+ Ресурс Отключено в регистре сведений.
+ Интерфейс "КР: Контроль реквизитов" (для доступа к объектам подсистемы)

Подробнее о настройках смотрите справочную информацию формы общих настроек.
68. Сергей Ожерельев (Поручик) 15.08.10 02:14
Обновление от 15.08.2010
Версия подсистемы 3.1.0

+ реализован п. 4. из (52) . В состав конфигурации включена обработка Матрица ролей пользователей ИБ http://infostart.ru/public/74210/
+ изменения в интерфейсе, коде, справочной информации
69. Asdam (Asdam) 03.09.10 21:58
Неплохо бы реализовать в Вашей разработке некоторые пункты из этой разработки:
1. Можно указывать обязательно заполнение как для одного пользователя так и для всех.
т.е. возможность выбора группы пользователей или конкретного пользователя для которого будет действовать контроль заполнения. Этот механизм есть в типовых, я думаю, его не сложно будет добавить.

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

Хотя это можно реализовать алгоритмом, но так на мой взгляд было бы удобнее.
70. Сергей Ожерельев (Поручик) 03.09.10 22:55
Неплохо бы, если кто-нибудь спонсирует.
71. Сергей Ожерельев (Поручик) 08.09.10 22:36
Обновление от 09.09.2010
Версия подсистемы 3.1.1

Изменения в коде:
+ настройка порядка проверки реквизитов (по умолчанию проверка проводится в порядке, установленном в конфигурации)

Изменения в метаданных:
+ Ресурс Порядок в регистре сведений.
72. Олег Шалимов (CaSH_2004) 08.10.10 10:50
В версии 3.0.9 озвучено "временное отключение проверки реквизитов"
но я не нашел как это сделать, неужели через роли?
подскажи плиз!
73. Сергей Ожерельев (Поручик) 08.10.10 12:03
(72)
Справочную информацию по формам я для себя писал? Давай читай всё, внимательно.
74. Сергей Ожерельев (Поручик) 26.11.10 00:12
После обновления PostgreSQL до 8.4.3-3.1C начала появляться ошибка
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ОтобратьСтрокиПоКритериям ().


Это только у меня одного или кто-то ещё заметил?
Видно придётся делать апдейт.
75. Asdam (Asdam) 05.01.11 18:19
Обновился, в серверном варианте выдает ошибку:

Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{ОбщийМодуль.КонтрольЗаполненияРеквизитов.Модуль(479)}: Ошибка при вызове метода контекста (ОтобратьСтрокиПоКритериям)

по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ОтобратьСтрокиПоКритериям ().
76. Asdam (Asdam) 05.01.11 18:20
(75) Не заметил (74) у меня MS SQL 2005
77. Asdam (Asdam) 06.01.11 10:33
(75) (74) Проблема решается путем переноса функции "ОтобратьСтрокиПоКритериям" из общего модуля "КонтрольЗаполненияРеквизитовСервер" в общий модуль "КонтрольЗаполненияРеквизитов" и в строке 479 сделать соответствующие изменения.
78. Сергей Ожерельев (Поручик) 11.01.11 23:30
(77) Решаться-то, она решается, да вот непонятно с какого перепугу выборка из результата запроса стала мутабельным значением и почему раньше это работало.
Кстати, апдейт так и не сделал, займусь на неделе.
79. Сергей Ожерельев (Поручик) 12.01.11 19:18
Обновление от 12.01.2011
Версия подсистемы 3.1.1a

Изменения в коде:
+ исправлена ошибка, связанная с передачей мутабельного значения на сервер.
80. Артур Аюханов (artbear) 12.05.11 12:09
(0) ИМХО в описание/справку по использованию кеширования нужно добавить фразы типа "В случае использования кеширования данных изменение в настройках контроля заполнения у пользователей будет выполнено не сразу, а только после перезапуска сеанса у пользователя или всех пользователей".
Только что минут 10 тупил, почему мои изменения не подхватываются подсистемой :)
81. Сергей Ожерельев (Поручик) 28.05.11 23:18
Обновление от 29.05.2011
Версия подсистемы 3.1.2

Изменения в подсистеме:
+ обновлена обработка Матрица ролей пользователей ИБ.
82. CaSH_2005 CaSH_2005 (CaSH_2005) 08.06.11 18:29
Поручик, если я доработаю твою подситему могу ли я ее выложить или кинуть тебе и сам ее выложиш?
Мне в ней не хватает механизма контроля дубликатов, чтобы не дублировали все что попало в базе в справочниках
83. Сергей Ожерельев (Поручик) 08.06.11 19:03
84. CaSH_2005 CaSH_2005 (CaSH_2005) 08.06.11 20:07
Спасибо, а не мог бы ты уточнить по поводу твоего кода контроля
Если Источник.ОбменДанными.Загрузка И Не Источник.ДополнительныеСвойства.Свойство("крПроверятьПриОбменеДанными") Тогда
у тебя не возникало необходимости контролировать даже при загрузке данные? Ведь так можно случайно очень хорошо замусорить базу? Или есть какието основания не контролировать при обмене?
85. Сергей Ожерельев (Поручик) 08.06.11 22:42
Принимаются только вопросы, сколько стоит что-нибудь сделать.
86. Сергей Ожерельев (Поручик) 10.11.11 19:48
Возобновление развития.
Добавлена конфигурация для платформы 8.2 (обычное приложение).
87. Олег Шалимов (CaSH_2004) 10.11.11 20:41
(86)С чего это? Я тут уже все по себя переделал, хотел выложить и вот ты вылез :)
Обидно, досадно, но ладно. Развивай, поддерживай.
А какие мысли хоть есть?
88. Asdam (Asdam) 12.11.11 11:15
(86) А если немного подправить, тогда и в управляемом прекрасно работает.
В этом файле http://rghost.ru/29612051 код для управляемого приложения.
89. Elisey Titov (Els11) 16.11.11 07:51
Надстройку не скачивал. Из описания не понял. Интересует вопрос, контроль распространяется только на реквизиты документов/справочников или для их свойств тоже? Т.к. разрабатывая новый фнукционал идем путем не добавления реквизитов, а добавления свойств. И иногда не хватает того, что свойства должны быть обязательно заполнены.
90. Сергей Ожерельев (Поручик) 16.11.11 08:03
(89) Только на реквизиты. Доработка для свойств за отдельные деньги, если сильно надо.
С завтрашнего дня вся подсистема платная.
91. Олег Шалимов (CaSH_2004) 16.11.11 16:00
(90) Вот только как скачать если публикация не активная?
92. Сергей Ожерельев (Поручик) 16.11.11 16:13
93. Сергей Ожерельев (Поручик) 03.08.12 22:47
Обновление от 03.08.2012
Версия подсистемы 3.1.3

Изменения в подсистеме:
+ добавлен контроль для планов видов расчета, бизнес-процессов.
94. Александр Лыткин (TrinitronOTV) 24.05.13 16:30
а чем отличается платная версия подсистемы контроля от выложенной здесь?
95. Сергей Ожерельев (Поручик) 24.05.13 19:07
(94) А выложенная здесь бесплатная?
96. Shrek Shrek (Shrek2015) 25.05.13 11:43
97. Александр Лыткин (TrinitronOTV) 25.05.13 15:54
(95) Поручик, не понял смысл вашего вопроса на мой вопрос о разнице платной версии, которая предлагается, и доступной для скачивания...
98. Сергей Ожерельев (Поручик) 25.05.13 20:35
(97) Доступная для скачивания и есть платная.
99. Александр Лыткин (TrinitronOTV) 27.05.13 11:06
(98) Поручик, тогда совсем запутался я, если я её скачаю, то как тогда ей пользоваться, я же не заплатил за неё
100. Сергей Ожерельев (Поручик) 27.05.13 11:11
(99) Если вы её скачаете, то можете заплатить, получите пароль и пользуйтесь.
101. Сергей Ожерельев (Поручик) 27.05.13 11:17
(99) А если не заплатите, то пароль не получите и не сможете воспользоваться, всех делов.
Платить будете ООО Инфостарт.