Имя: Пароль:
1C
 
Гуру-тест: в расширении нужно использовать свою форму, не создавая новой роли.
0 Гений 1С
 
гуру
12.10.21
12:32
Отсчет пошел, знатоки. ;-)
1 mikecool
 
12.10.21
12:33
я не против, делай
2 ДенисЧ
 
12.10.21
12:34
(1) А я против. Пусть сначала привьётся.
3 Гений 1С
 
гуру
12.10.21
12:35
(1) я то уже сделал. Проверяю теперь местное население на уровень гуризма
4 pechkin
 
12.10.21
12:37
задачу то можно нормально сформулировать?
5 Смотрящий
 
12.10.21
12:39
(3) Уровень ШТААА ?
6 Гений 1С
 
гуру
12.10.21
12:39
Тут меня упрекают, будто я не знаю решения и через гуру-тесты их вытягиваю. Это клевета, поэтому решение откроется сегодня в полночь: http://www.tellyoulater.com/decrypt#202110122100-4ID_iAqKNr2CnuJaIGDtlbMgu3U79UV-onYH5QEWJgfXKlVcBdCvkG3iIqJUcC8Y2-wtfwqJ46wgnHB_AqPyhUeVBGemm6sC3_kP4gIuBRRbBZnWRJK5UW0Yd4br4KjHAWiBO08bSizld9QdaybwXCsWyNIYjq_jK6KOMI7SPDcVg3ceNV45KhnXP61zks8513c1QlOS5aMuD5AWkcIbDPGsJ3vQ7dEFOGPz3FrRBXAzCT38p8QSZyAjPRCuqtJ7f8aBq-sbPU1i_yLIzpT56BnuErzayvtDEuSDqi_WCsSS_enNYCHbRmJFrzCrB8_rKXGFoAFE3Li7Xz3rVpw3poXmydLFjXGjpOAhzc0mCpNhw3yUH2RcmBp1poV9qbc8wxyvxkEuH2ZZpMU_3_ByFwROWcw-P92mOdGIC6b000Mzyu2gar7Q6UAwhi0WNKybRsO4vAgb8yoLz3ozvCu4zhqIIoZxSl_bej0wAovm_DYUzTm-D6ogOEMl5jkte7ypT8yny0BWlThgwMdfrBxBaLyFkDwKYytoibrCdltA5Lymr4llkw==aw5z

(4) А что не понятно? Нужно чтобы в расширении была новая форма, но чтобы ее использовать не нужно было добавлять дополнительную роль в расширение. Простой вопрос, можно на собесах задавать.
7 Гений 1С
 
гуру
12.10.21
12:40
(5) ААА - это ассоциация анонимных алкоголиков (запрещенная Митичкиным), а что такое ШТ?
8 pechkin
 
12.10.21
12:41
(6) роли не действуют на формы
9 fisher
 
12.10.21
12:41
Гуру-тест я уже провалил, поскольку с расширениями не работал. Но робко спрошу - зачем для новой формы новая роль?
10 BeerHelpsMeWin
 
12.10.21
12:42
(9) очевидно же, что выложить png-иконку!
11 Eiffil123
 
12.10.21
12:43
(6) а зачем это на собесах спрашивать? и если автор не знает ответ на этот вопрос - всё плохо, выгоняем?
12 Гений 1С
 
гуру
12.10.21
12:45
(8) штааааааааа?
13 pechkin
 
12.10.21
12:46
(12) где тут формы?
https://i.imgur.com/D3Zbt2A.png
14 fisher
 
12.10.21
12:48
(12) Ты пользовательской видимостью реквизитов хочешь что ли управлять? Ну ты и мастер в запутывании следов.
15 pechkin
 
12.10.21
12:49
может конечно была речь про то чтобы некоторым пользователям открывать свою форму вместо стандартной.
но причем здесь роль тоже не понятно
16 Eiffil123
 
12.10.21
12:49
в качестве эксперимента: добавил расширение, заимствовал объект, добавил форму. ни разу не создавал новую роль и не заимствовал. В чем вопрос то?
17 Smallrat
 
12.10.21
12:49
может он имеет в виду общую форму?
18 pechkin
 
12.10.21
12:52
для общих, да нужны роли. но если в расширении нет ролей, то все объекты доступны всем
19 fisher
 
12.10.21
12:56
Я называю это "голубиная загадка". В них нужно не отгадку искать, а где голубь налажал.
20 Гений 1С
 
гуру
12.10.21
12:59
(17) ага
21 1Сергей
 
12.10.21
13:00
(20) добавить уже существующую роль в расширение не предлагать?
22 Гений 1С
 
гуру
12.10.21
13:07
(21) нет, роли вообще не трогаем
23 pechkin
 
12.10.21
13:09
(19) отгадай вопрос. ответ не важен
24 1Сергей
 
12.10.21
13:10
(22) начинается
25 fisher
 
12.10.21
13:11
Создать обработку с названием "Общие формы" и напихать туда произвольных форм? :)
26 DexterMorgan
 
12.10.21
13:11
Использовать основные роли для всех пользователей
27 DexterMorgan
 
12.10.21
13:11
что ле
28 pechkin
 
12.10.21
13:13
(25) а доступ к обработке?
29 pechkin
 
12.10.21
13:13
ну то понятно что форму он запрятал глубоко, вместо того чтобы роль расширить нужную
30 fisher
 
12.10.21
13:13
(28) А его будет спрашивать, если я форму через менеджер получать буду? Проверять лень.
31 1Сергей
 
12.10.21
13:14
Как дать права не давая прав. У Вас 5 секунд
© Задача Жака Фреско
32 DexterMorgan
 
12.10.21
13:14
33 Гений 1С
 
гуру
12.10.21
13:48
(32) (26) не, слишком глубоко копаете. Способ более простой.
34 Гений 1С
 
гуру
12.10.21
13:49
Ну вот смотрите, на практике. Мне нужно было сделать форму настройки порядка строк в списке, вызываться будет из нескольких различных форм. Итак, как мне заюзать эту общую форму, чтобы не нарваться на необходимость раздачи прав.
35 mgreat
 
12.10.21
13:50
(34) прицепить эту форму к документу, справочнику или регистру, на который есть права у юзеров, и вызывать потом откуда нужно
36 pechkin
 
12.10.21
13:52
(34) в чем проблема расширить роль, а ля "базовые права" ?
37 Гений 1С
 
гуру
12.10.21
14:01
(36) потому что есть более простое решение без расширения роли
(35) Ну слава богу, а то я уже начал было терять веру в 1сников
38 Трепанг
 
12.10.21
14:02
(37) "Гениально" (с)
39 pechkin
 
12.10.21
14:05
(37) Это более просто решение?
40 fisher
 
12.10.21
14:08
(37) > я уже начал было терять веру в 1сников
Да ты чо. Даже гайды специальные пишутся, чтобы не оскудела земля-матушка: https://infostart.ru/1c/articles/966234/
41 Гений 1С
 
гуру
12.10.21
14:08
(39) ага
42 Гений 1С
 
гуру
12.10.21
14:08
(40) не читал
43 Конструктор1С
 
12.10.21
14:09
(38) костыльно, я б сказал
44 fisher
 
12.10.21
14:09
(42) Рекомендую. Все как есть, в рамках первого постулата.
45 Сергиус
 
12.10.21
14:10
(35)Вместо того, чтобы иметь одну форму с нормальными правами, мы наплодим их кучу у существующих объектов? Супер)
46 Smallrat
 
12.10.21
14:11
ржака
47 Трепанг
 
12.10.21
14:13
(43) Это был сарказм :))
48 Kassern
 
12.10.21
14:13
(37) вы издеваетесь? Вам еще в начале топика скинули, что у документов/справочников нет ролей на формы. Даже пример написали, что мол довил форму и все взлетело, что я делаю не так. Пишите про общую форму, а пихаете в документ, где логика? А если форма нужна как закупке так и продажникам куда ее прикрутите?)
49 pechkin
 
12.10.21
14:13
(48) 2 формы скопирует делов то
50 Kassern
 
12.10.21
14:14
(49) а потом будет в обеих править, ну это гениально конечно
51 Smallrat
 
12.10.21
14:14
(48) ну ясен перец - в производственный календарь, это же очевидно!
52 Eiffil123
 
12.10.21
14:14
(25) добавил общую форму. опять никто не потребовал сделать отдельную роль.
53 Гений 1С
 
гуру
12.10.21
14:16
(48) в номенклатуру, прикинь.
54 Гений 1С
 
гуру
12.10.21
14:17
(52) а она доступна твоим бедным несчастным юзверям?
55 Гений 1С
 
гуру
12.10.21
14:17
(51) опередил, да, тоже вариант, только не везде он есть. В валюты можно.
56 Kassern
 
12.10.21
14:18
(53) а прикинь, что форма ничего общего с номенклатурой не имеет. Все равно будешь туда пихать? К примеру своя форма для печатных документов, или отчетов. Тоже будешь в номенклатуру все пихать, удобно же?
57 unbred
 
12.10.21
14:18
(40) збс!
58 Eiffil123
 
12.10.21
14:18
(54) да, согласен. а пример вообще в реальной жизни как-то пригодится? и что потом потомки скажут, найдя форму в чуждом ему объекте?
59 Трепанг
 
12.10.21
14:19
(56) Работает же, никто не жалуется - в чём проблема :))
60 Kassern
 
12.10.21
14:20
61 eTmy
 
12.10.21
14:21
(58) вспомнят добрым словом "гениальных" разработчиков
62 Гений 1С
 
гуру
12.10.21
14:21
(56) да, почему бы и нет. Зачем напрягать пользователя лишней админ-работой?
63 unbred
 
12.10.21
14:21
(59) И, в-третьих, кому вообще придёт в голову лезть в твоё бессмертное творение, созданное на века? (с) из (40)
сабж: да пофиг, где создал форму. ГЛАВНОЕ- не создал роль. респект и уважуха.
64 Гений 1С
 
гуру
12.10.21
14:22
(63) отож.
65 acht
 
12.10.21
14:22
Пам пам пам пам, Сережа молодец!
66 Kassern
 
12.10.21
14:26
(62) вы наверное и общими модулями не пользуетесь. Зачем, когда можно все в обработке, либо в документе кодом прописать? А если этот кусок понадобится в другом месте, просто ctrl+c ctrl+v и дело то, я правильно понимаю? Сегодня форма нужна всем, а завтра надо будет ограничить некоторым пользователям. Не удивлюсь, что вы просто при открытии формы - Если ПараметрыСеанса.ТекущийПользователь.Наименование="Вася" тогда Отказ=Истина КонецЕсли))
67 ДенисЧ
 
12.10.21
14:27
Главное в таких решениях - не оставлять свой домашний адрес...
68 Kassern
 
12.10.21
14:27
работает и ладно)
69 fisher
 
12.10.21
14:33
Когда приходишь на подобную кодовую базу, обычно происходит что-то типа такого: https://bash.im/quote/441869
70 Smallrat
 
12.10.21
14:34
Еще, если вдруг вы не хотите включать возможность изменения объекта, а вам потребовалось добавить метод в его модуль менеджера, то можно добавить этот метод в модуль менеджера другого объекта, который можно менять. И еще с десяток подобных замечательных сценариев можно придумать.
71 Kassern
 
12.10.21
14:36
(70) а еще можно все обработки хранить в одной обработке в макетах, зачем плодить новые объекты, когда можно все из одной получать?)
72 Smallrat
 
12.10.21
14:36
хотя это плохой замечательный сценарий
73 unbred
 
12.10.21
14:38
(71) а чо, так можно было?
74 K1RSAN
 
12.10.21
14:38
(67) И пользоваться одноразовой симкой. Но что делать, когда в некоторых странах номер телефона привязывается к данным физ. лица?)
75 fisher
 
12.10.21
14:38
(71) Я встречал подобный подход для инкапсуляции "общих модулей" во внешнюю обработку, которая поставляется как отдельный продукт. Довольно прикольная идея :)
76 Kassern
 
12.10.21
14:39
(73) ага, так работает обработка диадока, но там это правильная реализация. Модульность реализована формами, а в макетах хранятся обработки так же со своими формами (модулями). По факту получается целая конфа с модульностью на внешней обработке
77 Kassern
 
12.10.21
14:40
а вот делать так в конфе нет никакого смысла
78 ДенисЧ
 
12.10.21
14:41
(74) Не пользоваться телефоном, жить в лесу, в схронах, отстреливаться арбалетом.
Очевидно же
79 Гений 1С
 
гуру
12.10.21
15:01
(66) а логика где? пользуюсь я общими модулями.
80 Kassern
 
12.10.21
15:05
(79) А логика вот где. Специально на уровне структуры конфигурации придумали общие формы, которые как раз таки нужны для обращений из разных мест, а вы вместо типового функционала предлагаете писать костыли, чтобы не тратить время на роль, тем самым запутывая логику бизнес процессов. Зачем для печати заказа поставщику/клиента, необходимо открывать форму печати из номенклатуры? Как вы это объясните приемникам, которые будут ваше поделку поддерживать?
81 Leonardo1c
 
12.10.21
15:07
https://geniy1s.ru/ostorozhnee-s-beskonechnymi-cziklami/
вот где настоящий гурутест )))))))))
82 Гений 1С
 
гуру
12.10.21
15:08
(81) ну это да...
(80) Ну что поделать, если создатели расширений и вообще в 1С не подумали о том, что на некоторые формы нужно октлючить контроль прав. Их паранойю нужно разгребать нам, простым 1сникам
83 pechkin
 
12.10.21
15:12
(82) почему нельзя было расширить роль "Базовые права", которая есть у всех?
84 pechkin
 
12.10.21
15:12
(82) сдается мне что ты не знал, что можно роли расширять, а не только добавлять
85 Kassern
 
12.10.21
15:13
(81) "Пока Истина Цикл" это что какую то игрушку пытаются на 1с запилить?
86 Ненавижу 1С
 
гуру
12.10.21
15:13
(67) адрес фиксина легко гуглится, он одно время не скрывался
87 Гений 1С
 
гуру
12.10.21
15:25
(85) ну что ты, вполне себе отраслевое решение. ;-)
88 Гений 1С
 
гуру
12.10.21
15:26
(83) Бритва Оккама - не стоит плодить сущности без надобности. И эта роль есть не у всех, я тебя уверяю. Например ее нет у ПолныеПрава
89 pechkin
 
12.10.21
15:27
(88) ну собственно ты и наплодил сущностей.
90 pechkin
 
12.10.21
15:28
(88) у полных прав есть доступ ко всем формам
91 Kassern
 
12.10.21
15:29
(87) а что мешало, вместо костыля, сделать единый запрос, возможно по группировкам и все в выборке обойти?
92 pechkin
 
12.10.21
15:30
порционная обработка в цикле "Пока Истина" вполне себе нормальное решение
93 Kassern
 
12.10.21
15:31
(92) но чревата зацикливанием при кривых ручках
94 pechkin
 
12.10.21
15:33
(93) а как еще порционно обрабатывать?
95 ДенисЧ
 
12.10.21
15:34
(94) резиновой киянкой по рукам, а потом в бесконечном цикле...
96 acanta
 
12.10.21
15:35
(94) мы тоже ищем варианты порционной обработки без использования цикла...
97 pechkin
 
12.10.21
15:35
(95) киянкой - это к (93)
98 Leonardo1c
 
12.10.21
15:36
(85) Казино 2тр в час ))
99 ДенисЧ
 
12.10.21
15:42
(97) Киянка - это метод исправления (93)
100 Fragster
 
гуру
12.10.21
15:43
(100)
101 Fragster
 
гуру
12.10.21
15:49
ответ на ГУРУ-тест:
"При подключении расширения к информационной базе есть возможность установить признак Использовать основные роли для всех пользователей. Данный флажок работает следующим образом:

● Если флажок установлен и в расширении задано свойство ОсновныеРоли, то минимальный набор прав будет определяться ролями, указанными в свойстве ОсновныеРоли. При этом администратор имеет возможность расширить состав ролей конкретного пользователя другими ролями расширения (не входящими в состав основных ролей расширения)."
(с) ИТС
https://its.1c.ru/db/v8320doc#bookmark:dev:TI000001845

а то, что предлагает автор - это полный отстой
102 Kassern
 
12.10.21
15:50
(94) можете конкретный пример написать? Я тут глянул в типовых, где используется Пока Истина Цикл, так там без проблем можно выборку обходить. Еще используют чтобы мол красиво было, в попытке выполняют дейсвтие, если не получается счетчик ошибок копят, если больше определенного числа то выход из цикла. Что мешает при этом Для к=1 По КоличествоОшибок выполнять цикл я хз. Вот пример из типовой:
    Пока Истина Цикл
        Попытка
            Результат = Запрос.Выполнить(); // Чтение вне транзакции, возможно появление ошибки.
                                            // Could not continue scan with NOLOCK due to data movement
                                            // в этом случае нужно повторить попытку чтения.
            Прервать;
        Исключение
            КоличествоПопыток = КоличествоПопыток + 1;
            Если КоличествоПопыток = 5 Тогда
                ВызватьИсключение;
            КонецЕсли;
        КонецПопытки;
    КонецЦикла;
103 Kassern
 
12.10.21
15:54
(101) ну все, собеседование в фиксин групп вы уже не пройдете, а ответ был так близко)
104 pechkin
 
12.10.21
15:56
правильный вариант: создать профиль и группу доступа (наверняка в типовой есть уже роль).
все юзеров добавить в эту группу
105 Ненавижу 1С
 
гуру
12.10.21
15:56
(0) после передачи параметров с помощью регистра удивляться в этом цирке нечему
106 Fragster
 
гуру
12.10.21
15:57
(103) у меня есть штук шесть грамот за подписью Сергея Нуралиева, где меня называют гуру 1с :)
107 Fragster
 
гуру
12.10.21
15:58
буду их предъявлять
108 H A D G E H O G s
 
12.10.21
15:59
(102) Лишний уровень вложенности кода
109 pechkin
 
12.10.21
15:59
(106) котируется только за подписью Сергея Фиксина
110 Eiffil123
 
12.10.21
16:08
(106) это которые печатают на ресепшене УЦ1 на желтых листах и там же подписывают? ))
111 ДенисЧ
 
12.10.21
16:08
(106) Прямо так и написано "гуру"?
112 Fragster
 
гуру
12.10.21
16:08
(111) ну
113 Eiffil123
 
12.10.21
16:09
(85) нормальный вариант, когда заранее неизвестен объем обрабатываемых данных
114 Fragster
 
гуру
12.10.21
16:11
(110) надо вот в таком списке оказаться: https://i.imgur.com/AfKKOPq.png
115 Kassern
 
12.10.21
16:11
(113) ключевое слово если, а кто-то может взять за правило и в любой выборке так делать...
116 fisher
 
12.10.21
16:12
(94) А в чем проблема? Количество порций типа неизвестно или что?
Все равно же есть какие-то условия выхода и обычно не составляет проблемы хотя бы одно из ключевых вынести в условие цикла, что сразу улучшает читабельность.
117 Fragster
 
гуру
12.10.21
16:12
(115) в (102) вся мякотка в "ВызватьИсключение"
118 Fragster
 
гуру
12.10.21
16:14
с другой стороны можно, конечно, сделать Для сч = 0 по МаксимальноеКоличество Цикл если Сч = МаксимальноеКоличество тогда вызватьИсключение конецЕсли но тогда немного страдает локальность кода
119 Fragster
 
гуру
12.10.21
16:15
опять же, в цикле "пока" можно сделать условие не "5 попыток", а "пытаться 5 минут", например
120 Kassern
 
12.10.21
16:15
(118) либо хранить переменную с результатом, если неопределено, то привет вызватьИсключение
121 DexterMorgan
 
12.10.21
16:15
(101) Ну я ему писал (26) + (32) но "это слишком глубоко" и его метод "проще" xDDD
122 Fragster
 
гуру
12.10.21
16:18
(121) да он, походу, даже не понял, что ты не предлагаешь расширять никакие роли
123 fisher
 
12.10.21
16:20
(102)
УспешнаяОтправка = Ложь;
КоличествоПопыток = 0;
Пока Не УспешнаяОтправка И КоличествоПопыток < 5 Цикл
        Попытка
            Результат = Запрос.Выполнить();
            УспешнаяОтправка = Истина;
        Исключение
            КоличествоПопыток = КоличествоПопыток + 1;
        КонецПопытки;
КонецЦикла;
Если Не УспешнаяОтправка Тогда
     ВызватьИсключение;
КонецЕсли;
124 Kassern
 
12.10.21
16:21
(123) что я и написал в (120) )
125 fisher
 
12.10.21
16:22
Тьфу. Почему отправка? Параллельно о своей проблеме размышляю :)
126 pechkin
 
12.10.21
16:23
(123) красивее с Для счетчик = 1 по 5 и прервать
127 pechkin
 
12.10.21
16:24

УспешнаяОтправка = Ложь;
Для КоличествоПопыток = 1 По 5 Цикл
        Попытка
            Результат = Запрос.Выполнить();
            УспешнаяОтправка = Истина;
            Прервать;
        Исключение
        КонецПопытки;
КонецЦикла;
Если Не УспешнаяОтправка Тогда
     ВызватьИсключение;
КонецЕсли;
128 fisher
 
12.10.21
16:24
(126) Мне - нет. Не красивее.
129 Kassern
 
12.10.21
16:26
(127) (128) вы бы сами так стали обходить, или как создатели типовых Пока Истина Цикл?)
130 fisher
 
12.10.21
16:27
В (123) я сразу вижу все условия выхода. Они просты и сразу понятна суть. Можно даже тело цикла не читать.
131 fisher
 
12.10.21
16:34
Да и вообще "отстрел" прерываний и ветвлений всегда благотворно сказывается на читабельности. Код становится линейнее, мозг меньше притормаживает на поворотах.
Например, очень часто в "Если" можно избавиться от "Иначе" и в итоге становится только лучше.
132 Гений 1С
 
гуру
12.10.21
16:41
(91) это ты спроси у разработчиков отраслевой, это их бесконечный цикл, я лишь поправил, чтобы он не был бесконечным, ты статью то прочитал?
133 Гений 1С
 
гуру
12.10.21
16:42
(94) ну конкретно там можно было. получить все периоды для пересчета. а потов в обычном цикле если по периоду уже создан документ (в другом сеансе), то пропускаем. Не знаю, зачем там сделаны такие выкрунтасы
134 Eiffil123
 
12.10.21
16:49
(114) для меня бы этот список мало что значил. Разве что другим участникам форума свои визитки раздать
135 Гений 1С
 
гуру
12.10.21
16:51
(114) ты не поверишь, но я один раз там бывал. Когда во фране работал и доставал поддержку 1С вопросами.
136 Eiffil123
 
12.10.21
16:52
(115) ну как бы применения разных циклов изучают чуть-ли не на 2м занятии программирования. Со школы или института все должны понимать отличия и применимость
137 Гений 1С
 
гуру
12.10.21
21:05
(136) да, КЭП
138 vicof
 
13.10.21
21:22
https://dszn.ru/press-center/news/5302
Главное — понимать, что чувство собственного превосходства, присущее неуверенному в себе человеку, хвастовство, раздутое эго — это первый сигнал того, что не хватает внимания: возможно, он одинок. Вступать в конфликт — бесполезная трата времени, а вот подружиться и действительно узнать его поближе — черта сильного человека. Поэтому ответом на вопрос, как общаться с людьми, которые считают себя лучше других, будет прост: принять их мнение о себе и показать, что вы на равных, через сотрудничество и партнерство. Общаясь с высокомерным или надменным человеком, следует понимать, что за этим скрывается большая, глубокая внутренняя проблема.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой