arefaste/1C_Forums huggingface dataset:
Добрый день! Есть документ Счет на оплату у него есть поле общая сумма, я считываю её и записываю в РегистрСведений и вывожу в таблицу значений. Вопрос как сделать ,если в таблице изменить руками на клиенте сумму то она измениться и в РегистреСведений и в самом Документе?
---
Решил задачу перезаписью регистра сведений с помощью Менеджера Записи тока сумму самого документа не изменял изменил саму задачу.
---
получаешь, ссылку на док по которому в РС меняют сумма, и раскидываешь эту сумму на все строки в ТЗ товары, потом по каждой строке сумму делишь на количество, получаешь цену, если используешь скидки, то и их расчитываешь
---
Тут все очень просто мне нужно просто если меняешь общую сумму в клиенте то она и меняется и в РегистреСведений и в самом документе.
Пример: Если в документе общая сумма 12 то в Регистре сведений 12 и в таблице значений она 12, а мне надо щас
Если в таблице значений стоит 15 то в регистре сведний она должна измениться с 12 на 15 и в самом документе с 12 на 15
---
ну сумма документа меняется при изменении таб части. а в РС пиши в процедуре ОбработкаПроведения
---
Решил задачу перезаписью регистра сведений с помощью Менеджера Записи тока сумму самого документа не изменял изменил саму задачу.
Добрый день.

В коде есть конструкция вида

Если РольДоступна("Роль"), либо УправлениеДоступом.РольДоступна("Роль") Тогда .....

так вот проблема в том, что проверки на доступность роли возвращают Ложь. Смотрю в настройках пользователя в конфигураторе, действительно роли нет. В профиле роль стоит, группа доступа создана, пользователю назначена. Перезаписывал и профили и группы доступа, запускал 1с с ключем ОбновлениеИнформационнойБазы - роль не устанавливается в конфигураторе. В чем может быть проблема? Как назначить эти роли?
---
Если не критично проверять именно Роль, то можно использовать проверку "Есть ли профиль"
Такой вариант более гибкий, ведь для настройки доступа юзера нужно только добавить в Профиль - и все ! (без конфигуратора)
Никаких ограничений на уровне системы он не получит (как в случае Роли), но оно нам и не нужно в большинстве случаев;

// Примерно такая функция

```1c
    Функция ЕстьПрофиль(Знач НаименованиеПрофиляГруппДоступа=Неопределено, Пользователь=Неопределено, ПропуститьАдминистраторы=Ложь, ПропуститьДелопроизводители=Ложь) Экспорт
```
---
Если не критично проверять именно Роль, то можно использовать проверку "Есть ли профиль"
Такой вариант более гибкий, ведь для настройки доступа юзера нужно только добавить в Профиль - и все ! (без конфигуратора)
Никаких ограничений на уровне системы он не получит (как в случае Роли), но оно нам и не нужно в большинстве случаев;

// Примерно такая функция

```1c
    Функция ЕстьПрофиль(Знач НаименованиеПрофиляГруппДоступа=Неопределено, Пользователь=Неопределено, ПропуститьАдминистраторы=Ложь, ПропуститьДелопроизводители=Ложь) Экспорт
```
---
а полные права у этого пользователя есть?
---
Да, если полные права установлены, то остальные роли не проставляет. Как быть в этой ситуации?
Ничего не понимаю ! Как сейчас, удалить текущую строку элемента таблицы значений ?
Обработка - есть реквизит Таб (Объект.Таб : ТаблицаЗначений)
На форме Есть реквизит Таб (ПутькДанным = Объект.Таб)
По кнопке хочу удалить текущую строку (на которой стоит курсор) из Таблицы значений на форме:

```1c
    &НаКлиенте
    Процедура ТабУдалить(Команда)
    // Вставить содержимое обработчика.
    Объект.Таб.Удалить(Элементы.Таб.ТекущаяСтрока);

    // Тут шибка, в отладчике вижу следующее:
    // Элементы.Таб.ТекущаяСтрока = 3 тип Число
    // хотя заполненных строк в ТЗ на форме всего две !
    КонецПроцедуры
```

Как спрашивается теперь надо удалять ?
---
Вы удивитесь. По нему надо Найти

```1c
    Объект.Таб.Удалить(Объект.Таб.НайтиПоИдентификатору(Элементы.Таб.ТекущаяСтрока));
```
---
Как и всегда - найти строку по идентификатору и удалить ее.
---
По какому еще идентификатору ? где его взять
---
Вы удивитесь. По нему надо Найти

```1c
    Объект.Таб.Удалить(Объект.Таб.НайтиПоИдентификатору(Элементы.Таб.ТекущаяСтрока));
```
---
Объект.Таб.НайтиПоИдентификатору(Элементы.Таб.ТекущаяСтрока)
Это с каких пор такое ? Раньше же работало (как написан код), в инете куча примеров ...
---
С момента появления управляемых форм.
То что у идентификатор строки иногда совпадает с индексом, это не значит, что он совпадает всегда.
---
Получить индекс и удалить по индексу?
---
Как именно ?
---
Потому что ИдентификаторСтроки <> ИндексСтроки
---
Какой еще Идентификатор и Индекс ?
---
Че, каникулы начались?
Добрый день. нужно открыть форму регистра сведений с отбором. делаю так

                ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;

    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.Родитель = ГруппаОтбора;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ключ");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = СписокПравил;

    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.Родитель = ГруппаОтбора;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеньНедели");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = ДополнительныеПараметры.ДеньНедели;

Ругается на Поле объекта недоступно для записи (Родитель)
---
Элементы отбора нужно добавлять не в Список.Отбор.Элементы, а в ГруппаОтбора.Элементы.
---
Элементы отбора нужно добавлять не в Список.Отбор.Элементы, а в ГруппаОтбора.Элементы.
---
спасибо. сработало
Добавила для сотрудника дополнительное сведение поле "Режим рабочего времени"
Заполнила программно Справочник ЗначенияСвойствОбъектов
Заполнила программно регистр сведений Дополнительные сведения по каждому сотруднику его данными из графика работы - наименование графика, данные взяла из Справочника ЗначенияСвойствОбъектов.
Просто сделали много идентичных графиков, разница только в наименовании самого графика, эти данные теперь переношу в регистр Дополнительные сведения

Теперь если зайти в каждого сотрудника в форме элемента и нажать на значок Дополнительные сведения то я вижу наименование в поле Режим рабочего времени, но если выделить это поле, то оно становится пустым, как будто в нем нет данных

Не поняла что именно нужно заполнить, чтобы было как при интерактивном заполнении этого поля
---
Я бы сделал сейчас так: вручную поставил в одном элементе нужное значение. А потом универсальной обработкой редактирования регистров посмотрел как заполняется регистр. Наверняка найдёте разницу.
---
Какой тип у добавленного поля?
---
забыла написать - Дополнительное значение
---
у вас разве не появляется список выбора?
---
выбрать то можно, но придётся заново это делать вручную уже
Я про то что при просмотре поле заполнено, но при выделении этого поля оно пустое
---
ДополнительноеЗначение - это строка табличной части "ДополнительныеЗначения". Вот эту табличную часть и нужно заполнять.
---
какого справочника? У сотрудников нет этой табл части
Справочник дополнительные значения уже заполнен и значение из него подставляется в поле значение для регистра сведений дополнительные сведения. Но зуп3 как бы не видит эту строку из РС
---
У справочника "Сотрудники" есть:
---
Извиняюсь, "ДополнительныеРеквизиты"
---
Мне не нужны дополнительные реквизиты, нужны дополнительные сведения
---
А разве дополнительные реквизиты и сведения теперь не живут в табличной части справочника? Там и заполняйте.
---
только дополнительные реквизиты в табличной части справочника
---
Вы правы. Посмотрел сейчас. Если в регистре сведений заполнены все измерения и ресурсы, то всё должно показывать. Проверьте типы значений, которыми заполнили записи регистра.
---
в записи регистра все верно указано, там всего то три поля, главное указать тип и владельца
---
Я бы сделал сейчас так: вручную поставил в одном элементе нужное значение. А потом универсальной обработкой редактирования регистров посмотрел как заполняется регистр. Наверняка найдёте разницу.
---
кажется я нашла свою ошибку, значение записывала не того типа, перепутала, сейчас проверю. Дьявол в мелочах
Я уже вручную добавила запись в этот регистр и проверила. И все получилось
Спасибо
Подскажите как грамотно получить адрес электронной почты в КА 1.1

```1c
    СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата);
```

 Так получаем адрес, телефон и т.п., а эл. почты нет.
Можно ли получить эл.почту как в БСП - строкой (обращение к модулю, функции, указав параметр), или же надо писать запрос?
---
```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | КонтактнаяИнформация.Представление КАК АдресЭлектроннойПочтыКонтрагента
    |ИЗ
    | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    | КонтактнаяИнформация.Объект = &Контрагент
    | И (ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(1))) <> ""
    | И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)";

    Запрос.УстановитьПараметр("Контрагент", Контрагент);

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Возврат Выборка.АдресЭлектроннойПочтыКонтрагента
    КонецЦикла;
```
---
```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | КонтактнаяИнформация.Представление КАК АдресЭлектроннойПочтыКонтрагента
    |ИЗ
    | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    | КонтактнаяИнформация.Объект = &Контрагент
    | И (ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(1))) <> ""
    | И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)";

    Запрос.УстановитьПараметр("Контрагент", Контрагент);

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Возврат Выборка.АдресЭлектроннойПочтыКонтрагента
    КонецЦикла;
```
---
Спасибо!
Всё, вроде, работает!
Вопрос : а зачем эта строка в условии запроса нужна?

| И (ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(1))) <> """"

Может поясните...
---
Это условие, которое отсекает строки длинной меньше одного символа.
При выборе стандартной команды с видом картинка (например Найти) кнопка отображается без текста, но при этом растянута будто для текста, есть ли возможность отключить этот момент?
---
нашел решение еще добавил в расположение 3 в ширину
---
У группы кнопок может быть включено растягивание подчинённых элементов.
---
Отображение картинка, или отключить автомаксимальную ширину, задать фиксированную.
---
убрал автоширину и задал фиксированную, ничего не изменилось
---
Куда 10? Я бы начал с 1.
---
чет безуспешно
---
нашел решение еще добавил в расположение 3 в ширину
---
У группы кнопок может быть включено растягивание подчинённых элементов.
---
немного не по теме, не знаешь где находится Стандартная команда Посчитать (которая с символом суммы)?
---
Не тот вариант скинул
Недавно только работаю с хранилищем конфигурации.
Вопрос. Я захватываю объект для изменения (в моем случае обработка). Выполнил все требуемые изменения.
Перед тем как поместить объект обратно в хранилище хочу сохранить в виде файла неизмененную обработку в хранилище.
Как это сделать?

Понимаю что мне сначала надо было сделать копию, а потом вводить изменения. Но периодически забываю это делать.
---
Открыть конфигурацию в другом конфигураторе, неподключенном к хранилищу, и спокойно сохранить. Это будет быстрее.
Или долгий вариант:
1. Сохранить новую обработку в первый файл.
2. Отменить захват обработки в хранилище.
3. Сохранить старую обработку во второй файл.
4. Захватить обработку в хранилище.
5. Загрузить новую обработку из первого файла.
---
Открыть конфигурацию в другом конфигураторе, неподключенном к хранилищу, и спокойно сохранить. Это будет быстрее.
Или долгий вариант:
1. Сохранить новую обработку в первый файл.
2. Отменить захват обработки в хранилище.
3. Сохранить старую обработку во второй файл.
4. Захватить обработку в хранилище.
5. Загрузить новую обработку из первого файла.
---
долгий вариант самый оптимальный. И самому можно было догадаться. Спасибо.
---
так в хранилище (на то оно и хранилище) хранится вся история ваших изменений
если что всегда сможете достать раннюю версию, до изменений.

а вообще перед началом изменений просто сохраняйте всю конфигурацию в .cf файл
---
Но сохранить из хранилища можно только конфигурацию целиком, отдельные объекты выгрузить нельзя. То есть вообще неважно - сохранять перед изменениями или не сохранять - один фиг на выходе только полный CF.
---
из хранилища можно восстановить/откатить изменения по выбранному объекту на нужную дату,
просто иногда хранилище капитально тупит, некоторые операции очень долгие,
сохранить конфигурацию как есть, затем захватить объект и обновить только его
вообще куча вариантов может быть как манипулировать объектами
кому что нравится

но помните что при выгрузке отдельно отчетов, обработок не выгружается текст Менеджера
а в конфе там может быть код
---
Спасибо, кэп! Челу надо просто обработку выгрузить, он не просил лекцию по возможностям хранилища.
можно восстановить/откатить изменения по выбранному объекту на нужную дату И не вводи человека в заблуждение. Откатить можно только ВСЕ изменения, установленные одним коммитом. Никаких "по выбранному объекту" там нет.
Возможно, вопрос глупый, но я этого не понимаю. В расширении у документа добавил новый реквизит ( в конфигурации реквизита нет, только в расширении ). Также в расширение перенес форму документа, но добавить на эту форму реквизит созданный в расширении НЕ получается просто потому-что его не существует в списке доступных реквизитов формы( там где объект и реквизиты формы все).

Вопрос: Как добавить реквизит созданный в расширении на форму?
---
Разобрался. Короче, когда переносишь форму в расширение у элемента "Объект" слетает тип. И чтобы видеть все добавленные в расширении в список реквизитов реквизиты, нужно на форме элементу объект поставить тип на документ именно в расширении.
---
Скрин приложите, 1 скрин лучше многословного описания.
---
Программно добавь при создании на сервере.
---
Т.е. в список реквизитов его не надо добавлять?
---
Разобрался. Короче, когда переносишь форму в расширение у элемента "Объект" слетает тип. И чтобы видеть все добавленные в расширении в список реквизитов реквизиты, нужно на форме элементу объект поставить тип на документ именно в расширении.
---
Немного не понял что вы там конструируете, может там так и нужно, но как правило использование для своих реквизитов наименований совпадающих со штатными например Ссылка, Объект, ЭтотОбъект, Форма и т.д. часто приводят к дальнейшим проблемам...
---
Все равно правильнее свой реквизит добавлять программно на форму. При обновлении будет меньше проблем.
---
нужно на
Добрый день! Подскажите как сделать так, если в таблице значений из трех строчек в любой изменить сумму то она измениться в изменённой строке в независимом регистре сведений?

```1c
    &НаСервере
    Процедура ИзменениеОбщейСуммыПриИзменении()

    НаборЗаписей=РегистрыСведений.РеестрП.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Период.Установить(ТекущаяДата());
    НаборЗаписей.Отбор.Организация.Установить(ОтборОрганизации);
    НаборЗаписей.Прочитать();

    Для каждого ЗаписьНабора из НаборЗаписей Цикл

    КонецЦикла;

    ЗаписьНабора.СуммаДокумента=ВведенаяСумма;

    НаборЗаписей.Записать();

    КонецПроцедуры
```
---
конечно можно использовать менеджер записи для этой задачи
---
Частично не получится, в отбор попадают все записи, вы можете поменять только в одной строке Набора записей, но запись в регистр идет всего набора записей. Поэтому в этом нет смысла.
Получаете весь набор записей , создаете все! записи для регистра сведений и записываете весь набор
Если я правильно поняла о чем вопрос
---
я конечно, может не прав и вы меня поправите, но, разве, если получить данные текущей строки после изменения, и просто создать Набор записей в регистре, с данными текущей строки, и при записи установить "Замещать" в ИСТИНА, данные в регистре не обновятся по одному набору?

Не нужно ничего искать и устраивать отборы, создавайте новую запись в регистре, делайте "Замещать", и все, далее на форме обновляйте данные в таблице и будет вам счастье.
---
для этого нужно использовать менеджер записи а не набор данных
---
прошу прощения, вы правы, но тем не менее не вижу причин не использовать менеджер вместо набора...
---
конечно можно использовать менеджер записи для этой задачи
---
Моя затея с набором Записей не получилась переписал полностью код менеджером записи. все заработало но Муторно много кода вышло
---
а так то все можно, особенно с независимым регистром, главное правильно это сделать и не потерять "нужные" записи
Просто есть риск, особенно с отбором
---
За
```1c
    НаборЗаписей.Отбор.Период.Установить(ТекущаяДата());
```
 надо оставлять после уроков.
---
отбор идет в пределах дня
---
потому что надо изменять данные тока в пределах дня
---
Нууу... А ТекущаяДата() из себя что представляет???
---
А можно ли сделать отбор по Уникальному Индикатору в регистре Сведений?
Я пробовал но что то не получается.....
---
Если получится присвоить тип "Уникальный Индикатор" - то велком.
---
При выводе в таблицу значений он у меня отображается но в самом регистре сведений нет
---
Прикольно.
Всем привет.
В расширении в форме документа добавил свои реквизиты, но что то при открытии формы их не видно, хотя отладчик заходит в процедуру ПриОткрытии в форме документа, в расширении...Должна вроде как модифицированная форма открываться, авотйух.
---
УТ ПРОФ, докопался до истины - в глубине кода валялась валялись строчки кода Видимость = Истина и Видимость = Ложь...я что-то забыл про них...При открытии срабатывали на ЛОЖЬ...Внимательней надо быть.
---
галка безопасного режима в расширении снята?
---
Да снял первым делом.
---
может дело в правах? посмотрите настройки видимости для каждого реквизита.
Ну или может быть эта форма захвачена в другом расширении уже, а там этих реквизитов нет?
---
Да расширение у меня одно, пересмотрю права по новой.
---
Видимость везде установлена.
---
Чего-то непонятно мне - снял реквизит доступность с одного из реквизитов (не добавленных мной). Реквизит стал недоступен, и доступным становиться больше не хочет....
---
Еще вопрос по конфе.
Вижу что УТ 11, но профка или базовая?
---
УТ ПРОФ, докопался до истины - в глубине кода валялась валялись строчки кода Видимость = Истина и Видимость = Ложь...я что-то забыл про них...При открытии срабатывали на ЛОЖЬ...Внимательней надо быть.
---
Спасибо за помощь ))))
Как правильно вставить в запрос определенный тип документа

```1c
    ВидДокумента = "АвансовыйОтчет";

    ТипДокументаГотовый = СтрЗаменить(ТРег(ТипДокумента)," ",");

    Запрос = Новый Запрос(

    "ВЫБРАТЬ
    | &ВидДокумента.Ссылка КАК Ссылка
    |ИЗ
    | Документ.&ВидДокумента КАК Документ"
    );

    Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВидДокумента",ТипДокументаГотовый);

    Выборка = Запрос.Выполнить().Выбрать();
```

Выдает ошибку:

{ВнешняяОбработка.ЗаполненеиеСтраныПоГТД.Форма.Форма.Форма(48)}: Ошибка при вызове метода контекста (Выполнить)
 Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(2, 2)}: Поле не найдено "АвансовыйОтчет.Ссылка"
<<?>>АвансовыйОтчет.Ссылка КАК Ссылка
---
Алиас должен совпадать с полями выборки. Если пишете "КАК Документ", то и поля должны быть "Документ.Ссылка"
Либо заменяйте "Документ" на "&ВидДокумента".
---
Алиас должен совпадать с полями выборки. Если пишете "КАК Документ", то и поля должны быть "Документ.Ссылка"
Либо заменяйте "Документ" на "&ВидДокумента".
Здравствуйте, подскажите мудрым советом как списать разливное пиво? имеется конфигурация 1с Розница 2.2.11.30 платформа 8.3.14.1779, нужно списать разливное пиво, через акт списания не получается списывать он просто не видит разливное пиво совсем, может через вскрытие тары?
---
так как указано выше рекомендуют методологи 1С, но так никто не делает, делают либо списанием на основании перемещения на 2й регистр сразу при поступлении, либо актом списания ЕГАИС либо чеком ЕГАИС с операцией вскрытие, чаще всего регламентами (доработки различные у всех)

я бы рекомендовал вести тетрадь подключения кег и на основании нее ежедневно списывать актом списания ЕГАИС через подбор чтоб видеть остатки и не перепутать карточки, ну и вести две номенклатуры розлив и кега это тоже перебор имхо
---
Здравствуйте, нужно настраивать вот так.
https://its.1c.ru/db/egais#content:77:retail22
---
так как указано выше рекомендуют методологи 1С, но так никто не делает, делают либо списанием на основании перемещения на 2й регистр сразу при поступлении, либо актом списания ЕГАИС либо чеком ЕГАИС с операцией вскрытие, чаще всего регламентами (доработки различные у всех)

я бы рекомендовал вести тетрадь подключения кег и на основании нее ежедневно списывать актом списания ЕГАИС через подбор чтоб видеть остатки и не перепутать карточки, ну и вести две номенклатуры розлив и кега это тоже перебор имхо
---
После списания на второй регистр получается в ЕГАИС уходит инфа о том что вся кега списана, и дальше уже ЕГАИС не интересует что ты будешь делать с внутренностями кеги?
Добрый день, для получения того что выбрал из выпадающего списка использую данную конструкцию в обработчике

```1c
    Процедура ГруппыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    Если НЕ ВыбранноеЗначение = Неопределено Тогда

    Сообщить(ВыбранноеЗначение); //Так возвращает наименование выбранного пункта в списке

    КонецЕсли

    КонецПроцедуры
```

Мне нужно что бы возвращало его индекс как это можно сделать ?
---
```1c
    Элемент.СписокВыбора.Индекс(Элемент.СписокВыбора.НайтиПоЗначению(ВыбранноеЗначение))
```
---
```1c
    Элемент.СписокВыбора.Индекс(Элемент.СписокВыбора.НайтиПоЗначению(ВыбранноеЗначение))
```
Как ограничить доступ к справочнику Спецификации конфигурации УПП 1.3.154.3 база вскрытая? Создал роль и теперь как программно проверять если данная роль у пользователя?
---
Форма списка
Процедура ПриОткрытии()

Если Не РольДоступна("МояСуперРоль") Тогда
---
ЭтаФорма.Доступность = Ложь;
---
Форма списка
Процедура ПриОткрытии()

Если Не РольДоступна("МояСуперРоль") Тогда
---
А как написать код, чтобы пользователь у кого нет данной роли не смог добавлять и изменять, а только был доступ на чтение?
---
ЭтаФорма.Доступность = Ложь;
---
Спасибо
Почему в производственном календаре (УТ 11.4) все дни горят красный, вроде только праздники должны так отмечатся. как можно это поправить?
---
Хотя в УТ, возможно так и должно быть. Тогда второй вариант. Попробуйте какой-то день правой кнопкой мыши поменять, тогда кнопка "Заполнить по шаблону" должна стать доступной.
---
Они станут черными после того, как нажмете "Заполнить по шаблону". А вот почему она не доступна у вас - не понятно.
---
А это будет как то влиять на работу системы? протос по тому видео курсу, который я смотрю эта кнопка и у лектора не доступна

(2)
---
Вполне, возможно, что никак. Но может и будет. Скажем, есть организации, где он годами не заполнен, и ничего.
Может быть, что по нему какой-нибудь график оплаты по рабочим дням считается, или еще что-то.
---
станут черными после того, как нажмете "Заполнить по шаблону". А вот почему она А это будет как то влиять на работу системы? протос по тому видео курсу, который я смотрю эта кнопка и у лектора не доступна
---
Судя по тому, что у Вас в графике работы есть выбор производственного календаря, есть вероятность, что в справочнике "Производственные календари" у Вас есть дубли - второй не заполнен, нужно выбрать первый.
---
Хотя в УТ, возможно так и должно быть. Тогда второй вариант. Попробуйте какой-то день правой кнопкой мыши поменять, тогда кнопка "Заполнить по шаблону" должна стать доступной.