Проверка шаблонов ограничений (RLS для 1С 8.2-8.3)

Публикация № 264989 15.03.14

Разработка - Инструментарий разработчика

RLS ограничение доступа шаблоны ограничений на уровне записей программирование

Теперь, чтобы получить конечный запрос на таблицу, которую пользователь сможет получить после отработки RLS ограничений, вам ничего не надо придумывать.

Все вы, наверное знакомы с RLS (ограничения на уровне записей), но не многие смогут с лёгкостью написать свой шаблон и ограничения по нему, а тем более разобраться в чужих.

Эта обработка позволяет ввести текст шаблона ограничения и текст ограничения доступа для определённой таблицы и на выходе получить готовый запрос и его параметры, который в последствии легко отладить в такой обработке, как "Консоль запросов".

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

 

Исправлено:

  • Указывается #ИмяТекущейТаблицы, #ИмяТекущегоПраваДоступа
  • Выполняется инструкция СтрСодержит()

Выявленные ошибки:

  • Пока таковых нет

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

Наименование Файл Версия Размер
Проверка шаблонов ограничений RLS

.epf 10,63Kb
642
.epf 1.0 10,63Kb 642 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ivanov660 3860 16.03.14 12:30 Сейчас в теме
Скачал обработку. Запустил в демо базе бухгалтерии. И НЕ РАБОТАЕТ.
Посмотрел код, на мой взгляд можно было найти решение и получше. К примеру, один из правильных вариантов использование варианта алгоритма конечных автоматов.
К недостаткам могу отнести отсутствие в примере хотя бы краткой инструкции, и возможно добавления некого упрощенного варианта консоли запросов для проверки результата на месте.

upd. Решил попробовать на другой конфигурации (УТ) - вроде отработало. Поэтому делаю вывод, что данная обработка работоспособна не для всех версий и конфигураций. Предлагаю автору, все же доработать ее, либо описать ограничения, чтобы не вводить в заблуждение пользователей.
2. frutty 121 16.03.14 13:27 Сейчас в теме
Подскажите в какой именно конфигурации вы запускали и под каким пользователем, а также что именно вводили.
Я не претендую на ультра правильное решение этой задачи, делал обработку для себя и она мне помогла в моих проблемах. Развивать дальше планирую по мере потребностей, с консолью конечно удобнее, но проще совместить её с более продвинутой версией.
3. bird21 42 19.03.14 09:08 Сейчас в теме
Возьмем обработку на заметку, сейчас не актуально, но бывало нужно было.
4. DAnry 8 19.03.14 15:01 Сейчас в теме
На мой взгляд такие вещи не стоит доверять автоматике. Занимался этим вопросом, сам писал шаблоны ограничений RLS. Тут как говорится "Семь раз отмерь, один - отрежь". Очень аккуратно надо. Поэтому совет: САМОМУ разобраться в механизме RLS и запросах ограничений (можно воспользоваться готовыми шаблонами, но обязательно разобрать их по косточкам), на основе готовых написать свои, и тестировать, тестировать, тестировать (под разными пользователями и с разными настройками)
victor_k; +1 Ответить
5. frutty 121 19.03.14 15:30 Сейчас в теме
(4) DAnry, Собственно тут и нет никакой автоматики, это всего лишь свёртываение шаблона до обыкновенного запроса, чтобы легче было видеть ошибки.
6. kser87 2358 20.03.14 15:09 Сейчас в теме
Было бы неплохо сделать обратное преобразование: из запроса 1С в текст ограничения.

Ну и результат запроса можно прямо в обработку выводить.


инструкции предпроцессору обрабатываются? если да, то как? имею в виду такую конструкцию #Если #Иначе #КонецЕсли
8. frutty 121 20.03.14 15:48 Сейчас в теме
(6) kser87, #ЕСЛИ #ТОГДА #ИНАЧЕЕСЛИ #ИНАЧЕ #КОНЕЦЕСЛИ - обрабатываются, именно для этого и делал.
12. nixel 1320 10.06.14 11:48 Сейчас в теме
(6) kser87, что в этом сложного?
Текст ограничения - это и есть текст запроса. Просто без "ВЫБРАТЬ", без явного указания одной таблицы и без кучи возможностей обычного запроса.
Каким образом вы захотите это инструкциями препроцессору разбавить, ни одна обработка не знает. А отсутствующие возможности - ну будет она ругаться, что у вас "ПОМЕСТИТЬ" в запросе. Толку-то от этого? все равно руками разбирать.
39. developf1com 17.07.20 15:50 Сейчас в теме
Так в обратную сторону уже не получится, это как хэш вычислить, только в одном направлении
7. kser87 2358 20.03.14 15:14 Сейчас в теме
Конечно, обработка очень далека от совершенства
9. AllexSoft 07.04.14 12:38 Сейчас в теме
хорошая штука, а то со стороны платформы для RLS ни сделано ничего ( даже отбора метаданных по ролям нету, не говоря уж об отладке RLS или конструкторе шаблонов
10. nixel 1320 30.05.14 18:27 Сейчас в теме
Надеюсь, будет доработано под свежие версии БСП. Подписался.
11. Gendalf_beliy 30.05.14 18:43 Сейчас в теме
Возьму обработку на заметку, сейчас не актуально, но бывало нужно было.
Спасибо.
13. o.nikolaev 208 22.07.14 14:26 Сейчас в теме
1. Хотелось бы видеть более подробную инструкцию и простой пример
2. Нет возможности сохранять настройки, идеально - навигация по сохраненным настройкам - это видимо уже следующий уровень - среда разработки для RLS.
3. Возможность выполнения сформированного запроса с заданными параметрами
14. vital1c 97 27.08.14 10:42 Сейчас в теме
спасибо, обработка помогла разобраться с некоторыми шаблонами ут11
15. DISAoner 04.09.14 13:20 Сейчас в теме
Под УПП (обычное приложение) не запустилась...
16. EvilDoc 176 04.09.14 13:10 Сейчас в теме
я для этих целей просто консоль запросов использую. Не понимаю пользы этой обработки
17. EvilDoc 176 04.09.14 13:11 Сейчас в теме
Ручками несколько буквочек тыкнуть - превратить шаблон в запрос - если человек этого не может то ему ни какая обработка не поможет
18. artbear 1429 04.09.14 14:29 Сейчас в теме
Очень полезная обработка.
Без нее слишком много буковок в обычных консолях придется переделывать.
(17) Попробуй запрос БСП получить в консоли запросов и засеки время.
19. DISAoner 05.09.14 11:51 Сейчас в теме
(17) EvilDoc, пытаюсь разобрать в уже существующей базе(УПП) настройки RLS и частенько встречаю шаблоны с несколькими буковками...

#Если &ИспользоватьОграничениеПоКонтрагенты ИЛИ &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоПроекты #Тогда
ТекущаяТаблица
ИЗ
	#ТекущаяТаблица КАК ТекущаяТаблица
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
			СоставГруппы.Ссылка КАК ГруппаПользователей
		ИЗ
			Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
		ГДЕ
			СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
		ПО (ИСТИНА)
ГДЕ
НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL
И
	(НЕ 1 В
				(ВЫБРАТЬ ПЕРВЫЕ 1
					1
				ИЗ
					РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
											
					#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
					ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
					ПО Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(1)
					#КонецЕсли						   														  
					
					ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
						ПО
							НастройкиПравДоступаПользователей.ОбъектДоступа = ВЫБОР
									
									#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
									КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
										ТОГДА ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка))
									#КонецЕсли
									
									#Если &ИспользоватьОграничениеПоОрганизации #Тогда
									КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)
										ТОГДА ТекущаяТаблица.#Параметр(2)
									#КонецЕсли
									
									#Если &ИспользоватьОграничениеПоПроекты #Тогда
									КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Проекты)
										ТОГДА ТекущаяТаблица.#Параметр(3)
									#КонецЕсли
							
								КОНЕЦ
								И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа
								И 								
								НастройкиПравДоступаПользователей.ОбластьДанных =
								#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
									ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
										ТОГДА ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные)
									ИНАЧЕ
										ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка)
									КОНЕЦ
								#Иначе									
									ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка)
								#КонецЕсли
																								
								И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей
				ГДЕ					
					 НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
						   И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В (
						   														  ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ПустаяСсылка)
						   														  
						   														  #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
						   														  , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
						   														  #КонецЕсли
						   														  
						   														  #Если &ИспользоватьОграничениеПоОрганизации #Тогда
						   														  , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)
						   														  #КонецЕсли
						   														  
						   														  #Если &ИспользоватьОграничениеПоПроекты #Тогда
						   														  , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Проекты)
						   														  #КонецЕсли
						   														  
						   														  )
				
					И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL))
#КонецЕсли
Показать


Все же с обработкой было бы легче.
20. frutty 121 05.09.14 11:18 Сейчас в теме
(19)DISAoner, какой-то маленький у вас шаблон =)

Хотел вставить шаблон из УТ11, но нарвался на это:
Прикрепленные файлы:
21. EvilDoc 176 05.09.14 12:13 Сейчас в теме
(20) Да, в новых конфах РЛС вообще клевый))
22. DISAoner 08.09.14 12:04 Сейчас в теме
(20) дело в том, что он не мой и я хотел бы его разобрать при помощи данной обработки, но она не открывается. При попытке открыть файл ничего не происходит((
23. frutty 121 08.09.14 12:05 Сейчас в теме
(22) DISAoner, Создайте пустую конфигурацию с управляемым интерфейсом и откройте мою обработку, должно сработать.
24. пользователь 15.10.14 18:54
Сообщение было скрыто модератором.
...
25. Makushimo 160 08.12.14 18:04 Сейчас в теме
на УТ 11 не работает

СтрСодержит() в выражении для Вычислить() под УФ(толстый клиент) идет по ветке Исключение
то есть не отрабатывает

запускаю туже конфу под обычными формами (толстый клиент) вычисляет без проблем

почему так?
26. frutty 121 09.12.14 10:15 Сейчас в теме
(25) Makushimo, Что-то я вас совсем не понял, подробнее пожалуйста и желательно с примерами.
27. herfis 474 29.12.14 18:37 Сейчас в теме
Не работает (результат пустой).
Тексты шаблона и ограничения прилагаю файлом.
Прикрепленные файлы:
RLS.txt
28. igor7702 03.06.15 07:23 Сейчас в теме
Запустил под Бухгалтерия 2.0 на обычных формах - обработка не открывается, проверил на БГУ 1.0 также.
На Бухгалтерии 3.0 управляемые формы открывается.
Как запустить в Бухгалтерии 2.0?
29. frutty 121 03.06.15 19:39 Сейчас в теме
(28) igor7702, Попробуйте в конфигураторе выставить "Использовать управляемые формы в обычном приложении"
30. Rioneri 93 24.08.15 22:51 Сейчас в теме
условие препроцессора вычисляется передачей в запрос в конструкцию "ВЫБОР...КОГДА...ТОГДА...КОНЕЦ", что неправильно так как в запросе нельзя сравнивать поля несовместимых типов, а в инструкции препроцессора можно - в ряде случаев вычисление инструкции свалится
31. Rioneri 93 24.08.15 22:52 Сейчас в теме
не разбирается возможность наличия в шаблоне именованных параметров (правда в типовых конфигурациях таких шаблонов вроде пока не видел) при наличии таковых обработка свалится
32. alekckuc 03.06.16 07:54 Сейчас в теме
Приветствую, скачал обработку возможно бага возможно я что то недопонял строка 350
Текст = СтрЗаменить(Текст,"#ИмяТекущейТаблицы",""""+ИмяТекущейТаблицы+"""");
У меня в шаблоне текст #ТекущаяТаблица соответсвенно замена не выполнилась.


Заменил руками получил такую строку ТекущаяТаблица ИЗ Контрагенты КАК ТекущаяТаблица
В консоли она понятно дело не сработала, консоль хочет слово Выбрать, как тут быть ?
33. frutty 121 03.06.16 11:35 Сейчас в теме
(32) alekckuc, приведите весь текст шаблона и ограничения.
34. Чародей 17 12.10.16 14:48 Сейчас в теме
(33) обработка не открывается в конфигурации 1С ТОиР. 8,2, галка "Использовать управляемые формы в обычном приложении" стоит.
35. babys 89 06.11.16 17:15 Сейчас в теме
Косяк в Управлении холдингом 1.1 / 8.3.7.2008
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка SDBL:
Поле ",ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеСведения,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеСведения,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеСведения,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеСведения,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеОтчетыИОбработки,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ДополнительныеСведения,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,ДополнительныеСведения,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеСведения,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеСведения,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ПодразделенияОрганизаций,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ГруппыФизическихЛиц,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеОтчетыИОбработки,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ДополнительныеСведения,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,ПодразделенияОрганизаций,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,Пользователи,УчетныеЗаписиЭлектроннойПочты,
,ВнешниеПользователи,УчетныеЗаписиЭлектроннойПочты,
" имеет неограниченную длину и не может участвовать в сравнении.
Показать

И Завершить или Перезапустить
openmind; +1 Ответить
36. openmind 20.04.17 14:05 Сейчас в теме
Не работает.
1С:ERP Управление предприятием 2.0.10.145
1С:Предприятие 8.3 (8.3.9.1818)
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка SDBL:
Поле ",ВидыЦен,ВнешниеПользователи,ГруппыНоменклатуры,ГруппыПартнеров,ДополнительныеСведения,Кассы,КассыККМ,Подразделения,ПодразделенияОрганизаций,Пользователи,СоглашенияСКлиентамиИзменение,СоглашенияСКлиентамиЧтение,УчетныеЗаписиЭлектроннойПочты,ЭквайринговыеТерминалы,
,ВидыЦен,ВнешниеПользователи,ГруппыНоменклатуры,ГруппыПартнеров,ДополнительныеСведения,ЭквайринговыеТерминалы,
* * * * * *
(много чего про ВидыЦен)
* * * * * *
" имеет неограниченную длину и не может участвовать в сравнении.

И - вылетает платформа.
37. ilya005 123 15.01.18 04:14 Сейчас в теме
не работает
УТ 11.2 (11.2.3.108)

#ПоНаборамЗначений( "Документ.ТелефонныйЗвонок","","РасширенноеИЛИ","")

{ВнешняяОбработка.ПроверкаШаблоновОграниченийRLS.Форма.Форма.Форма(341)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
Выполнить("РезультатВыполнения = "+НРег(СтрокаВыполнения));
по причине:
{(1,29)}: Ожидается выражение
РезультатВыполнения = найти(<<?>>&видыдоступасотключеннымиспользованием, ",пользователи,")
38. zombi81 8 17.05.20 15:59 Сейчас в теме
Спасибо. Классная штука.
40. acces969 309 09.11.20 07:42 Сейчас в теме
Исправлена ошибка:
Если ЧастьУсловия.Свойство("Условие") Тогда
Выражение = ЧастьУсловия.Условие;
Для Каждого ЭлементСоответствия Из ЗначенияПараметров Цикл
// +++ Ошибка
// Имеется: ЗначенияПараметров["Соответствие"]["ОграничиватьДоступНаУровнеЗаписей"]
// Ожидается: ЗначенияПараметров["_ЗначенияПараметров_"]["ОграничиватьДоступНаУровнеЗаписей"]
Если ЭлементСоответствия.Ключ = "_ЗначенияПараметров_" Тогда
Продолжить;
КонецЕсли;
// ---
Выражение = СтрЗаменить(Выражение, ЭлементСоответствия.Ключ, ЭлементСоответствия.Значение);
КонецЦикла;

РезультатВыражения = Вычислить(СтрЗаменить(Выражение, Символы.ПС, " "));
Если РезультатВыражения Тогда
ИстиннаяЧастьУсловия = ЧастьУсловия;
Прервать;
КонецЕсли;
Иначе
ИстиннаяЧастьУсловия = ЧастьУсловия;
Прервать;
КонецЕсли;
41. fixin 4190 10.05.22 15:15 Сейчас в теме
Спасибо, использовал недавно.
Правда, пришлось немного упростить текст RLS-запроса, убрать верхний Если.
Но так запрос сам получил.
Правда, он в 1С все равно громоздкий, но помог разобраться все же.
42. HAMMER_59 235 23.05.23 14:50 Сейчас в теме
Насколько я понял конвертация запроса возможна только тогда, когда нет вложенных шаблонов.
А у меня как раз такой случай :(
Оставьте свое сообщение

См. также

Функции "слоупока": как заставить открываться "Все функции" в 97 раз быстрее!

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Наверное, каждый программист 1С (да и не только программист), открывая «Функции для технического специалиста» (ранее «Все функции») на массивных конфигурациях вроде ERP 2.4 и т.п., в своей жизни много раз задавался вопросом – почему же они так долго открываются?? Действительно, в зависимости от мощностей сервера «Все функции» могут открываться от 20 секунд до 2 минут! «Ну, слишком много объектов в конфигурации, огромное количество констант, справочников, документов, регистров… – Отвечали себе страдающие пользователи. – Пока программа обойдёт в цикле все метаданные, пока построит дерево… Тут ничего не поделаешь…». И все они были не правы! Я провёл собственное расследование, которое показало, что 97% времени построения дерева метаданных тратится на…

1 стартмани

09.03.2022    22506    92    XilDen    76    

240

Программное формирование существующих печатных форм

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    12455    32    RocKeR_13    5    

42

Подсистема прав доступа (анализ ролей, отладка RLS, английский код, обычные и управляемые формы)

Роли и права Платформа 1С v8.3 Управляемые формы Управление правами Конфигурации 1cv8 Абонемент ($m)

Доброе время суток. Я как обычно – с интересностями. И в этот раз мы поговорим о такой жуткой штуке – как RLS, генерация расширений на лету, и обратим внимание на одну интересную особенность «Полных прав» и про английский сорцкод. Статья не является «продажной», ибо решение специфическое, кому надо, тот знает, что покупает. Однако, в этой статье я расскажу про кучу тонкостей, с которыми мы столкнулись и как оптимизировали. Так что не забудьте открыть все спойлеры :)

5 стартмани

18.10.2021    20646    205    DitriX    40    

185

Универсальный редактор данных (УРД)

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

27.08.2021    15791    206    Adeptus    57    

91

Подсистема "Показатели объектов"

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

06.03.2021    14353    8    pila86    17    

29

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    19464    32    huxuxuya    11    

36

А1Э - альтернативная стандартная библиотека для 1С

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

14.08.2020    22297    0    Enigma    47    

176

Проверка ведения учета (универсальная)

Инструментарий разработчика Анализ учета Платформа 1С v8.3 Запросы Абонемент ($m)

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

2 стартмани

11.08.2020    11444    59    vozhd    4    

19

Консоль кода для управляемых форм

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Консоль кода для управляемых форм с подсказками и подсветкой синтаксиса.

1 стартмани

17.07.2020    45406    602    salexdv    423    

328

Внешний регламент для 1С

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    17237    14    moolex    13    

15

Консоль запросов 9000

Инструментарий разработчика Платформа 1С v8.3 Запросы Конфигурации 1cv8 Абонемент ($m)

Простая и удобная консоль запросов 1С для управляемых форм 8.3, работает на любой конфигурации без ее модификации. Возможность использования как внешней обработки или в составе расширения. С перехватом любых запросов и поддержкой всех типов данных во временных таблицах. Анализ плана запроса, запроса на уровне СУБД. Обработка результата кодом.

1 стартмани

24.02.2020    44883    690    kuza2000    167    

176

Конвейер проверки качества кода

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    52506    35    Stepa86    46    

220

Модель объекта

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    24676    3    vadim1980    5    

17

CFU & CFE - reader (версия 3.1).

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для анализа файлов обновлений (.cfu) и расширений (.cfe) в режиме предприятия в любой конфигурации для 1С 8.3.+. Основана на разработке https://infostart.ru/public/97194/.

2 стартмани

21.06.2019    17279    48    vandalsvq    12    

28

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    53838    12    ripreal1    92    

183

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.

1 стартмани

13.05.2019    52002    201    Diversus    44    

278

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    34791    23    slozhenikin_com    37    

61

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Бухгалтерский учет Управленческий учет Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    77596    286    informa1555    246    

207

Легкое и гибкое управление списком доступных баз 1С у пользователей

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    30342    30    RomikR    11    

18

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    68159    643    Eugen-S    36    

50

Навигатор по конфигурации базы 1С 8.3

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.95 от 07.05.2023

3 стартмани

28.10.2018    59725    532    ROL32    72    

183

Консоль Внедренца v.3.6.2

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы, Инструмент по работе с табличными документами - загрузка данных из табличного документа.

1 стартмани

27.08.2018    53816    525    evvakra    42    

182

HTTP Сервисы: Путь к своему сервису. Часть 3

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    78947    96    dsdred    17    

182

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

10 стартмани

14.08.2018    159123    3532    Evg-Lylyk    800    

624

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    46335    35    informa1555    30    

77

Консоль HTTP-запросов с генерацией кода

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    45213    410    leongl    20    

199

Регистры правил [Расширение]

Инструментарий разработчика Платформа 1С v8.3 Управление правами 1С:Управление торговлей 11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    32305    33    33lab    5    

18

Заполняем по шаблону (по умолчанию)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

08.02.2018    44150    25    mvxyz    17    

79

Права доступа ролей

Роли и права Платформа 1С v8.3 Управление правами Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

05.02.2018    30147    230    Serge R    5    

23

Паузы при исполнении кода (Sleep для 1С)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Решил проверить все найденные варианты паузы для 1С. В результате получилась обработка для тестирования и небольшая статья с итогом.

1 стартмани

28.11.2017    101234    24    swimdog    57    

183

Программное формирование форматированной строки в стиле html+inline CSS

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    58516    60    bonv    13    

74

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

При обновлении платформы 1С:Предприятие 8 предыдущие версии не удаляются. Со временем количество неиспользуемых версий платформы растет. Они занимают место на диске. Для решения этой проблемы предназначена программа OneCleaner. Она позволяет быстро удалить неиспользуемые версии платформы, а также почистить кэш метаданных и удалить ненужные информационные базы данных.

1 стартмани

14.11.2017    38984    109    bonv    17    

48

DataReducer — R-консоль для «1С:Предприятия»

Инструментарий разработчика Платформа 1С v8.3 Анализ и прогнозирование Абонемент ($m)

Программа для обработки, анализа и визуализации данных информационных баз «1С:Предприятия» с использованием возможностей языка программирования R.

10 стартмани

10.07.2017    33338    3    DataReducer    13    

47

Трансформатор 1С - SQL

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    54872    450    Synoecium    54    

249

Набор подсистем "Умные таблицы"

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    48717    119    Silenser    34    

75

Автокликер для 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

03.04.2017    47052    87    slava_1c    67    

74

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Предлагается к использованию построитель регулярных выражений. Выполненный в виде внешней обработки, он позволит строить сложно-структурированные выражения на основе параметрического описания, тестировать их, и в результате получить программный код 1С.

1 стартмани

13.03.2017    51815    138    romasna    54    

208

Сценарное тестирование в помощь программисту 1С

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Альтернативное решение для организации сценарного тестирования конфигураций, разработанных на управляемых формах

1 стартмани

11.11.2016    39509    62    grumagargler    62    

193

Несколько шаблонов для доработки типовых конфигураций

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Абонемент ($m)

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

1 стартмани

03.10.2016    52275    107    json    26    

196