Имя: Пароль:
1C
1С v8
Новый реквизит в расширении и последние релизы БСП и платформы
0 Звездец
 
25.01.23
08:29
Опять что-то поменялось в желтой программе. Сдаюсь. Есть УТ 11 последнего релиза на последнем релизе платформы. В расширении добавляю на форму справочника новый реквизит числового типа. Как итог на форме в режиме предприятия его нет, при попытке использования ошибка прав доступа. Перепробовал все: дать пользователю роль, которая автоматически создалась в расширении, удаление всех ролей из расширения, добавление в расширение роли из основной конфигурации и добавление в нее прав на новый реквизит. Результат 0. Что еще могли поменять?
1 p-soft
 
25.01.23
08:33
отдохнуть и по новой сделать. а глюки всегда были
2 Звездец
 
25.01.23
08:35
(1) это тоже применял. Не помогло. Полностью удалял и создавал заново расширение
3 p-soft
 
25.01.23
08:37
а точно проблема с реквизитом? как попытка доступа выглядит?
4 Звездец
 
25.01.23
08:39
например добавляю в форму характеристики. Потом в виде номенклатуры в шаблоне наименования добавляю. Там конструктор его видит, но при открытии формы ошибка. Так же и программно. Понимаю с чем связан вопрос, не путаю ли я реквизит объекта и формы, нет не путаю
5 p-soft
 
25.01.23
08:45
общими реквизитами задачу решайте. хз что за код выполняется при формировании шаблона, не видит он реквизит из расширения скорее всего
6 Звездец
 
25.01.23
08:55
(5) ну если пару реквизитов то да. Но надо форму переделать, а тут такое
7 p-soft
 
25.01.23
09:02
у каждой профессии запах особый..
8 Звездец
 
25.01.23
09:09
(7) да это уже трындец какой-то. Говоришь клиенту что за пару часов сделаешь, а по факту на этапе нового реквизита трындец приключается
9 p-soft
 
25.01.23
09:14
ну где то в минус, где то в плюс, на выходе хороший средний чек)
10 Звездец
 
25.01.23
09:57
(9) это да, но напрягают такие непонятки
11 Звездец
 
25.01.23
10:26
такое ощущение, что БСП проверяет право на реквизит при рендеринге формы, но где именно это происходит найти не могу
12 p-soft
 
25.01.23
10:31
(11) смысл увеличивать себестоимость задачи?
конфа не знает об объектах расширения, возможно где то в коде идет обращение к метаданным и мозги перекашивает - механизм шаблонов то универсальный.
поэтому, надо взять за правило - если делаешь расширение, то минимизируй использование в нем общих(универсальных) механизмов, реализованных на уровне конфы.
13 p-soft
 
25.01.23
10:34
я вот столкнулся с забавным поведением "производительной" РЛС - хер пойми по какому принципу она обрабатывает исключения. тыкаешься, пока не заработает. и реализация просто треш - это они в общие библиотеки засунули..
14 Звездец
 
25.01.23
17:45
(12) ХЗ что тут в итоге увеличение себестоимости задачи. Конкретно в моем случае нужно было добавить доп реквизит характеристике, а использовать его в документе установки цен. И учитывая что в документе есть Характеристика для ЦО, из нее пришлось получить характеристику, а из нее доп реквизит. А учитывая что методы из БСП отказались выдавать доп реквизиты то получается что в любом случае для такой элементарной задачи реализация на кучу строк и гемороя
15 OldCondom
 
25.01.23
17:47
Автор не создал роль в расширении и пытается увидеть новый объект?
16 Звездец
 
25.01.23
19:37
(15) а если внимательно почитаешь (0), то поймешь что с ролями я перепробовал все варианты
17 eddy_n
 
25.01.23
20:09
Возьми за правило в случае расширений - только программное добавление реквизитов на форму. Да, повозиться в первый раз придётся, но ты будешь в дальнейшем застрахован понятно от чего.
18 Donkey_hot
 
25.01.23
20:18
(15) В общем-то абсолютно нормальное желание. При отсутствии ролей в расширении собственные объекты доступны всем юзерам.
19 Donkey_hot
 
25.01.23
20:19
(11) Помню, была такая петрушка, тоже с реквизитами характеристик. Тупо отлавливал эту процедуру определения доступности, в расширении вызывал вместо, если мой реквизит, возвращал Истину. Где она - уже не вспомню, конечно.
20 Donkey_hot
 
25.01.23
20:30
(19) Как раз на метаданные она опиралась
21 Звездец
 
25.01.23
21:20
сколько лет бомблю на код типовых, но никак не могу понять зачем так усложнять на ровном месте? ну можно же всю доступность разрулить более понятным способом? хотя бы не в 100500 процедурах
22 eddy_n
 
25.01.23
22:38
(21) Всё можно. Но не нужно, чтобы любая тётя Клава из соседнего подъезда села за свой ноут и от нечего делать внесла изменения в открытое решение вендора.
23 eddy_n
 
26.01.23
09:55
Они где-то усложняют, а где-то упрощают донельзя. Вид номенклатуры применительно к самому товару реализован по схеме Один к одному. Наверное, каждый школьник сталкивался с ситуацией, когда ему надо засветить ОДИН ТОВАР в НЕСКОЛЬКИХ ВИДАХ НОМЕНКЛАТУРЫ. Но когда-то кто-то не заложил. Теперь остальные - мучайся.
24 Звездец
 
26.01.23
20:53
(23) в том то и дело. Сделал через доп реквизит. Все ок, но клиент вошел во вкус и теперь хочет еще пару реквизитов, заполнение которых будет формировать в итоге наименование. А на поле доп реквизита обработчик не повесить (ну по крайней мере я пока не придумал как). Прийдется делать кнопку. А такое мне не нравится, ведь можно же делать красиво
25 eddy_n
 
26.01.23
22:37
(24) Всё можно программно добавить. Муторно, но возможно. Также и отчёт, который ты за 2 сек. на СКД рисуешь, можно программно вывести. Ладно. это всё лирика, а физики делают примерно так:

Элемент.УстановитьДействие("ПриИзменении", Новый Действие("ВыполнитьДействиеПриИзмененииДанных"));

&НаКлиенте
Процедура ВыполнитьДействиеПриИзмененииДанных(Элемент)
    ВыполнитьДействиеПриИзмененииДанныхНаСервере();
КонецПроцедуры


Т.е. рисуй те обработчики к своему контролу, какие тебе нужны.
26 Звездец
 
27.01.23
01:43
да. Вот как раз сейчас и занимаюсь этим. Само то действие добавить вообще не проблема. А вот получить и идентифицировать элементы конечно муть. Да и еще в последних БСП появилась какая-то отложенная отрисовка доп реквизитов. И теперь ПриОткрытии их на форме нет, но если отложенную отрисовку переопределить, то тогда норм. В общем часа 3 убил на это. А самое главное, что непонятно зачем все так усложнено и не документировано. Нигде не нашел для чего и что она дает. Предполагаю что получение значений непосредственно при активации страницы, если реквизиты не видны изначально. Но а есть ли от этого конкретный толк?
27 Звездец
 
27.01.23
03:42
мне иногда кажется что я схожу с ума

Длина = 23,5;
Ширина = 36,356;

Строчка = Строка(Длина) + " Х " + Строка(Ширина);

Какого хрена Строчка имеет значение "23,5 Х 36"

Скрин в отладчике
https://ibb.co/LZ99TQd
28 eddy_n
 
27.01.23
08:24
(27) Это из области эксперимента или имеет практическую ценность?
29 Мимохожий Однако
 
27.01.23
08:33
ОФФ: ТС поражает своей эмоциональностью в рутинной работе слесаря "жёлтой программы".
30 Звездец
 
27.01.23
09:15
(28) еще какую. Задав переменную ширина в модуле формы - ломается на форме все что имеет ширину. По мне это как-то неправильно
31 eddy_n
 
27.01.23
09:57
(30) Попробуй также программно кинуть на форму вспомогательный Элемент управления типа ОБЫЧНАЯ ГРУППА и уже к нему привязываться. Так будет хоть какая-то независимость от всех элементов на форме.