Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отбор в табличной части ограниченного списка Документов и Справочников конфигурации
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Constantus
Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Даже не знаю как правильно озвучить проблему.

Должен существовать ограниченный список необходимых мне документов и справочников (не все справочники и не все документы). Никак не могу сообразить где и как разместить этот ограниченный список, например, только "РеализацияТоваровУслуг" и "ПоступлениеТоваров"; "Контрагенты" и ДоговорыКонтрагентов" (справочник, регистр, перечисления). Речь идет о наименовании Документов и Справочников

Далее, имеется некий Справочник, куда должны заносится в ТЧ эти значения из этого ограниченного списка.

Причем ТЧ должна быть разграничена 2-мя Страницами "Справочники" и "Документы", но ТЧ должна иметь один источник (реквизит), т.е. страницы выполняют роль фильтра.

Структура ТЧ:

1. Тип (принимает значение "Справочники" или "Документы", например Перечисление)
2. Вид (поле выбора из ограниченного списка документов и/или справочников в зависимости от выбранного значения "ТИП")

1. Одним словом. Открывается этот справочник, заполняется шапка.
2. Идем на страницу "Справочники" или "Документы".
3. На соответствующей странице Тип принимает значение "Справочник" или "документы" в зависимости от выбранной страницы.
4. В поле "Вид" выбираем только Документы или Справочники в зависимости от Выбранной страницы

Flexy
Зачем это все?
Constantus
Flexy @ Сегодня, 13:25 необходимо зарегистрироваться для просмотра ссылки ,


Хороший вопрос! Занимаюсь извратом по заданию начальства. Он хочет, чтобы на часть документов и справочников были введены ограничения по редактированию:
ТолькоЧтение, ЗапретНаПроведение, ЗапретНаУдаление, ЗапретНаКопировние.

Причем эти параметры могут быть изменены, т.е. сегодня пользователю ТолькоЧтение, завтра снимет ограничение.
Еще причем, не на все документы и справочники это распространяется, только на некоторые.
Совсем причем, это все конечно можно сделать ролями и каждый раз менять конфигурацию, но этого уже не хочется делать мне, у меня РИБ.

В принципе я уже разработал механизм и он работает, но хлопоты составляет удобство интерфейса по редактированию настроек, т.е. подбор Справочников и Документов по наименованию, а не по конкретным ссылкам.

Смешивать перечень справочников и документов в одной странице ТЧ тоже не айс... вот и пытаюсь для себя сделать нечто читабельным...

В первую очередь не могу понять как лучше сформировать список всех документов и справочников, подлежащих этому процессу. Т.е. расположить их в Перечислениях? или где?
Т.е. я так думаю, создается новый справочник, заполняется шапка, потом кнопкой "Заполнить" в ТЧ заполняестя весь список наименований документов, а на странице "Справочники - список справочников...

Причем источник ТЧ для Справочников и Документов должен быть единым... У меня запросом вычленяются ограничения и не хочется делать 2-а запроса для справочников и документов...
Flexy
Цитата(Constantus @ 17.10.17, 10:52) необходимо зарегистрироваться для просмотра ссылки
В первую очередь не могу понять как лучше сформировать список всех документов и справочников, подлежащих этому процессу. Т.е. расположить их в Перечислениях? или где?

Я бы сделал справочник с двумя ТЧ - ТЧ - документы и ТЧ - справочники.
Колонки ТЧ: имя документа (Строка) / справочника, и остальные с разрешениями.
Заполнятся ТЧ должны при первой инициализации.
Для Каждого Док Из Метаданные.Документы Цикл
    НовСтр = ТЧДокументы.Добавить();
    НовСтр.ИмяДокумента = Док.Имя;
КонецЦикла;

В дальнейшем при открытии формы справочника нужно выполнять проверку на новые типы документов конфигурации и автоматов добавлять их
Для Каждого Док Из Метаданные.Документы Цикл
    Если ТЧДокументы.Найти(Док.Имя, "ИмяДокумента") <> Неопределено Тогда
        Продолжить;
        КонецЕсли;
        НовСтр = ТЧДокументы.Добавить();
    НовСтр.ИмяДокумента = Док.Имя;
КонецЦикла;


Потом, пишем функцию, которая выбирает разрешения и ... профит
sava1
Смотрите в сторону Метаданные......Имя / Синоним
Constantus
Flexy @ Сегодня, 14:21 необходимо зарегистрироваться для просмотра ссылки ,

Благодарю. Приблизительно так я и делал, но можно ли как-то таки сделать, чтобы была одна ТЧ, две страницы, которые при открытии фильтровали свои данные по Справочникам и Документам?

И чтобы был не весь список всех документов, а только избранные? Хранящиеся где-то в другом списке?
sava1
в ТЧ колонка тип "док"/"спр" - заполняете при заполнении - далее по нему отбор
Flexy
Цитата(Constantus @ 17.10.17, 12:00) необходимо зарегистрироваться для просмотра ссылки
можно ли как-то таки сделать, чтобы была одна ТЧ, две страницы, которые при открытии фильтровали свои данные по Справочникам и Документам?

А в чем сложность сделать 2 таблицы? Красивше ж будет. Если что в запросе можно сделать "объединить все" и получить на выходе все, что нужно
|ВЫБРАТЬ
| ТЧ_Док.ИмяДокумента КАК ИмяОбъектаМета,
| ТЧ_Док.Разрешение,
| ИСТИНА КАК ЭтоДокумент
|ИЗ
| Справочник.РазрешенияОбъктовМета.Документы КАК ТЧ_Док
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТЧ_Спр.ИмяСправочника КАК ИмяОбъектаМета,
| ТЧ_Спр.Разрешение,
| ЛОЖЬ КАК ЭтоДокумент
|ИЗ
| Справочник.РазрешенияОбъктовМета.Справочники КАК ТЧ_Спр
sava1
Flexy,
с третьей колонкой чет не так
Flexy
Цитата(sava1 @ 17.10.17, 12:52) необходимо зарегистрироваться для просмотра ссылки
с третьей колонкой чет не так

Спс. Поправил. 32000000.gif
Constantus
Flexy @ Сегодня, 15:46 необходимо зарегистрироваться для просмотра ссылки ,


Вот мой запрос:

    Запрос.Текст = 
        "ВЫБРАТЬ
        |    a_Справочник1Доступ.Тип,
        |    a_Справочник1Доступ.Объект.Наименование,
        |    a_Справочник1Доступ.ТолькоПросмотр Как ТП,
        |    a_Справочник1Доступ.ЗапретПроведения Как ЗП,
        |    a_Справочник1Доступ.ЗапретНаРаспроведение Как ЗНОП,
        |    a_Справочник1Доступ.ЗапретУдаления Как ЗУ,
        |    a_Справочник1Доступ.ЗапретОтменыУдаления Как ЗОУ,
        |    a_Справочник1Доступ.ЗапретКопирования Как ЗК        
        |ИЗ
        |    Справочник.a_Справочник1.Доступ КАК a_Справочник1Доступ
        |ГДЕ
        |    a_Справочник1Доступ.Ссылка.Пользователь = &Пользователь
        |    И a_Справочник1Доступ.Объект.Наименование = &Наименование";
    
    Запрос.УстановитьПараметр("Наименование", Значение);
    Запрос.УстановитьПараметр("Пользователь", Пользователь);


Никак не могу сообразить как объединить, если разные ТЧ
sava1
В справочник добавьте поле "типОбъекта" - справочник/документ
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.