Версия для печати темы (https://pro1c.org.ua/index.php?s=423e1fe87dce679dfe7b91ddedee3d8c&showtopic=67619)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу

Автор: burza 24.08.24, 8:59

Добрый день! Странные вещи на происходят. Что это может значить. Ничего по той форме не делалось. Только в Группе доступа добавилась роль новая.Это УНФ

{ОбщаяФорма.ПраваДоступаУпрощенно.Форма(1194)}: В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу


burza @ Сегодня, 9:47 * ,
Это справочник Пользователи. sql версия

Автор: Vladal 25.08.24, 8:31

Что-то мутно вспоминаю, что было похожее при динамическом обновлении базы.

И что нельзя изменять свойства формы (или поля? забыл), которые могут привести снова к серверному вызову, например, Заголовок, Доступность, Подсказку.

и наверно на файловой базе такого не было? у разработчика ведь файловая конфигурация, а после переноса на рабочую "всё словалось"?

а еще такой вопрос - конфигурация на поддержке, ну или модули и справочники эти не дорабатывались?

Автор: burza 25.08.24, 14:00

Цитата(Vladal @ 25.08.24, 9:31) *
и наверно на файловой базе такого не было? у разработчика ведь файловая конфигурация, а после переноса на рабочую "всё словалось"?

да на файловой все ок.
конфигурация не на поддержке. модули не дорабатывались.

burza @ Сегодня, 14:29 * ,
про демоническое не скажу вроде было все ок. там процедура &НаКлиентеНаСервереБезКонтекста


burza @ Сегодня, 14:36 * ,
Обновляли через сравнение. может загрузить конфигурации поможет иди это тут не причем?

burza @ Сегодня, 14:45 * ,
Это все происходит в спрвочнике пользователи где выставляться роли. роли работают все ок но вот постоянное сообщение когда становишься на роль которая уже отмечена.

Автор: burza 02.09.24, 8:46

burza @ 25.08.24, 15:00 * ,
не будет подсказки как от этого избавиться?)

Автор: Vofka 02.09.24, 10:41

Что находится в ОбщаяФорма.ПраваДоступаУпрощенно.Форма(1194)?
И дополнительно покажите на всякий случай целиком функцию, в которой эта строка находится.

Автор: burza 02.09.24, 15:28

Vofka @ Сегодня, 11:41 * ,
на файловой базе все ок на sql беда

&НаКлиентеНаСервереБезКонтекста
Процедура ПриИзмененииТекущегоПрофиля(Знач Форма, Знач ОбработкаНаКлиенте = Истина)
    
    Элементы    = Форма.Элементы;
    Профили     = Форма.Профили;
    ВидыДоступа = Форма.ВидыДоступа;
    
    Если ОбработкаНаКлиенте Тогда
        ТекущиеДанные = Элементы.Профили.ТекущиеДанные;
    Иначе
        ТекущиеДанные = Профили.НайтиПоИдентификатору(
            ?(Элементы.Профили.ТекущаяСтрока = Неопределено, -1, Элементы.Профили.ТекущаяСтрока));
    КонецЕсли;
    
    Форма.ТекущийПрофиль = Неопределено;
    РедактированиеТекущихОграничений = Ложь;
    
    Если ТекущиеДанные <> Неопределено Тогда
        Форма.ТекущийПрофиль = ТекущиеДанные.Профиль;
        РедактированиеТекущихОграничений = ТекущиеДанные.Пометка
                                           И Форма.ТекущийПрофиль <> Форма.ПрофильАдминистратор
                                           И НЕ Форма.ТолькоПросмотр;
    КонецЕсли;
    
    // УНФ
    Если ТекущиеДанные <> Неопределено Тогда
        ИмяТекущегоПрофиля = ИмяТекущегоПрофиля(ТекущиеДанные.Профиль);
        Если ИмяТекущегоПрофиля = "Продажи" ИЛИ ИмяТекущегоПрофиля = "Продажі" Тогда
            Элементы.РазрешитьРедактированиеЦенВДокументах.Видимость = Истина;
            Элементы.РазрешитьРедактированиеНоменклатуры.Видимость      = Истина;
            Элементы.РазрешитьВидимостьРасходовНаИсточникиПривлечения.Видимость = Истина;
        Иначе
            Элементы.РазрешитьРедактированиеЦенВДокументах.Видимость = Ложь;
            Элементы.РазрешитьРедактированиеНоменклатуры.Видимость      = Ложь;
            Элементы.РазрешитьВидимостьРасходовНаИсточникиПривлечения.Видимость = Ложь;
        КонецЕсли;
        Если ИмяТекущегоПрофиля = "Деньги" ИЛИ ИмяТекущегоПрофиля = "Гроші" Тогда
            Элементы.НастройкаДополнительныхПравДеньги.Видимость = Истина;
            Элементы.ГруппаРазделенныеПраваДеньги.Видимость      = Истина;
        Иначе
            Элементы.НастройкаДополнительныхПравДеньги.Видимость = Ложь;
            Элементы.ГруппаРазделенныеПраваДеньги.Видимость      = Ложь;
        КонецЕсли;
        Элементы.РазрешитьРедактированиеЦенВДокументах.Доступность = ТекущиеДанные.Пометка;
        Элементы.РазрешитьРедактированиеНоменклатуры.Доступность   = ТекущиеДанные.Пометка;
        Элементы.РазрешитьВидимостьРасходовНаИсточникиПривлечения.Доступность   = ТекущиеДанные.Пометка;
        
        ПоказатьВидыДоступа = НастройкаВидовДоступаДоступнаДляПрофиля(ВидыДоступа, ТекущиеДанные.Профиль);
        
        Элементы.ДекорацияРазделитель.Видимость = ПоказатьВидыДоступа;
        Элементы.Доступ.Видимость = ПоказатьВидыДоступа;
    КонецЕсли;
    // Конец УНФ
    
    Элементы.НадписьПрофиль.Доступность                      =    ТекущиеДанные <> Неопределено И ТекущиеДанные.Пометка;
    Элементы.ВидыДоступа.ТолькоПросмотр                      = НЕ РедактированиеТекущихОграничений;
    Элементы.ЗначенияДоступа.ТолькоПросмотр                  = НЕ РедактированиеТекущихОграничений;
    Элементы.ВидыДоступаИзменить.Доступность                 =    РедактированиеТекущихОграничений;
    Элементы.ВидыДоступаКонтекстноеМенюИзменить.Доступность  =    РедактированиеТекущихОграничений;
    
    Если Форма.ТекущийПрофиль = Неопределено Тогда
        Форма.ТекущаяГруппаДоступа = "";
    Иначе
        Форма.ТекущаяГруппаДоступа = Форма.ТекущийПрофиль;
    КонецЕсли;
    
    Если Элементы.ВидыДоступа.ОтборСтрок = Неопределено
     ИЛИ Элементы.ВидыДоступа.ОтборСтрок.ГруппаДоступа <> Форма.ТекущаяГруппаДоступа Тогда
        
        Элементы.ВидыДоступа.ОтборСтрок = Новый ФиксированнаяСтруктура("ГруппаДоступа", Форма.ТекущаяГруппаДоступа);
        ТекущиеВидыДоступа = ВидыДоступа.НайтиСтроки(Новый Структура("ГруппаДоступа", Форма.ТекущаяГруппаДоступа));
        Если ТекущиеВидыДоступа.Количество() = 0 Тогда
            Элементы.ЗначенияДоступа.ОтборСтрок = Новый ФиксированнаяСтруктура("ГруппаДоступа, ВидДоступа", Форма.ТекущаяГруппаДоступа, "");
            УправлениеДоступомСлужебныйКлиентСервер.ПриИзмененииТекущегоВидаДоступа(Форма, ОбработкаНаКлиенте);
        Иначе
            Элементы.ВидыДоступа.ТекущаяСтрока = ТекущиеВидыДоступа[0].ПолучитьИдентификатор();
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры


Автор: Vofka 03.09.24, 7:48

Так и на какую строку ругается?

Автор: burza 03.09.24, 8:53

Vofka @ Сегодня, 8:48 * ,
{ОбщаяФорма.ПраваДоступаУпрощенно.Форма(1194)}: В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу
Это происходит когда стаю на поле где уже есть булево. ну и при самом открытии формы.


burza @ Сегодня, 9:46 * ,
И только на серверной версии
оно не появляетьсяка ошибка а как сообшить

Автор: Vofka 03.09.24, 14:12

Ваша картинка не отображается.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua