Имя: Пароль:
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
Главное — понимать, что чувство собственного превосходства, присущее неуверенному в себе человеку, хвастовство, раздутое эго — это первый сигнал того, что не хватает внимания: возможно, он одинок. Вступать в конфликт — бесполезная трата времени, а вот подружиться и действительно узнать его поближе — черта сильного человека. Поэтому ответом на вопрос, как общаться с людьми, которые считают себя лучше других, будет прост: принять их мнение о себе и показать, что вы на равных, через сотрудничество и партнерство. Общаясь с высокомерным или надменным человеком, следует понимать, что за этим скрывается большая, глубокая внутренняя проблема.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший