Ошибка при получении значения функциональной опции нет доступа

Всем форумчанам, доброго времени суток!

Народ подскажите пожалуйста, в чем может быть причина, при первом запуске Розницы базовая 2.1.3 самое первое действие делаю (создаю пользователя) выскакивает ошибка, (в списке не осталось не одного пользователя с административными правами) при чем я не могу провести запись и настроить роль пользователя ЭТО В РЕЖИМЕ ПРЕДПРИЯТИЕ!. А если создавать пользователя в режиме КОНФИГУРАТОР то, все создается нормально и ставлю в правах нужные галки, казалось бы все ок! Но при запуске даже отладчика и выборе пользователя снова ошибка (при получении значения функциональной опции «ИспользоватьПрименениеЦен» нет доступа)

Все ставилось с оф.диска и с лицензиями!

Буду оч.благодарен за любую оказанную помощь!!!

Функция не найдена «ПолучитьФункциональнуюОпцию»

Я

  

PbI4

31.05.16 — 10:52

1С:ERP Управление предприятием, редакция 2.0 + CRM, редакция 2.0 (2.0.10/2.0.8)

Доработал стандартный отчет СостояниеРасчетвоСКлиентами, с полными правами формируется без ошибок, менеджерам дал права на отчет и команды в нём.

В результате в журнале такое:

{ОбщийМодуль.ВариантыОтчетов.Модуль(1302)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)

по причине:

по причине:

Ошибка исполнения отчета

по причине:

Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’

по причине:

{Отчет.СостояниеРасчетовСКлиентами.МодульОбъекта(89)}: Ошибка при вызове метода контекста (Инициализировать)

по причине:

Ошибка компоновки данных

по причине:

Ошибка инициализации

по причине:

Функция не найдена «ПолучитьФункциональнуюопцию»

  

Nuobu

1 — 31.05.16 — 10:55

Посмотри на вкладке «Вычисляемые поля»

  

ИсчадиеADO

2 — 31.05.16 — 10:57

а где хранится значение функ опции?

  

PbI4

3 — 31.05.16 — 11:02

На вкладке «Вычисляемые поля» пусто, в модуле объекта отчета смущают следующие строки:

#Область СлужебныеПроцедурыИФункции

    
Процедура НастроитьПараметрыОтборыПоФункциональнымОпциям(КомпоновщикНастроекФормы)

    

    Если ПолучитьФункциональнуюОпцию(«ИспользоватьПартнеровКакКонтрагентов») Тогда

        КомпоновкаДанныхСервер.УдалитьЭлементОтбораИзВсехНастроекОтчета(КомпоновщикНастроекФормы, «Контрагент»);

    КонецЕсли;

    

    Если ПолучитьФункциональнуюОпцию(«ИспользоватьУпрощеннуюСхемуОплатыВПродажах») Тогда

        КомпоновкаДанныхСервер.УдалитьВыбранноеПолеИзВсехНастроекОтчета(КомпоновщикНастроекФормы, «АвансДоОбеспечения»);

    КонецЕсли;

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

Процедура НастроитьПользовательскиеНастройкиПоФункциональнымОпциям(КомпоновщикНастроекФормы)

    

    Если ПолучитьФункциональнуюОпцию(«ИспользоватьУпрощеннуюСхемуОплатыВПродажах») Тогда

        КомпоновкаДанныхСервер.ОтключитьВыбранноеПолеВПользовательскихНастройках(КомпоновщикНастроекФормы, «АвансДоОбеспечения»);

    КонецЕсли;

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

  

PbI4

4 — 31.05.16 — 11:03

с Функциональными опциями не сталкивался никогда

  

ИсчадиеADO

5 — 31.05.16 — 11:06

(4) пофигурация — ветка обсчие — функциональные опции — открываешь нужную. там будет св-во Хранение. На это дело права есть? Хотя текст ошибки странный конеш…

  

Nuobu

6 — 31.05.16 — 11:09

А есть ф-я ПолучитьФункциональнуюОпцию(«ИспользоватьПартнеровКакКонтрагентов»)

  

PbI4

7 — 31.05.16 — 11:11

на вкладке параметры вот:

View post on imgur.com

  

Nuobu

8 — 31.05.16 — 11:11

(7) Тебе нужная ф-я «ПолучитьФункциональнуОпцию» ищи её.

  

ИсчадиеADO

9 — 31.05.16 — 11:14

Глобальный контекст (Global context)

ПолучитьФункциональнуюОпцию (GetFunctionalOption)

Синтаксис:

ПолучитьФункциональнуюОпцию(<Имя>, <Параметры>)

Параметры:

  

PbI4

10 — 31.05.16 — 11:20

У константы, хранящейся в функциональной опции стоит только чтение, давать изменение/просмотр/редактирование?

  

PbI4

11 — 31.05.16 — 11:20

Копать надо думаю в права, так как с полными отчёт формируется без ошибок

  

ИсчадиеADO

12 — 31.05.16 — 11:21

(10) нет

  

Cyberhawk

13 — 31.05.16 — 11:40

Функция недоступна на клиенте, в этом твоя беда

  

PbI4

14 — 31.05.16 — 12:15

И как же избавиться от такой напасти?

  

PbI4

15 — 31.05.16 — 12:16

С полными правами она значит доступна на клиенте?

  

hhhh

16 — 31.05.16 — 12:21

(15) а святой водой не пробовали на сервер побрызгать?

  

PbI4

17 — 31.05.16 — 12:28

не, не достану, он в Германии

  

PbI4

18 — 31.05.16 — 13:32

Ну что, найдем функцию? В УТ 11 такой же отчёт есть, может есть столкнувшиеся с такой засадой ещё?

Содержание:

1.      Типы хранения Функциональных опций в 1С

2.      Тип хранения константа 1С 8.3

3.      Тип хранения Реквизит справочника 1С 8.3

4.      Тип хранения Ресурс регистра сведений

Все вы знаете, что такое функциональные опции, и часто их используете. Особенно они распространены в управляемых формах конфигураций.

Кто не знает, что такое функциональная опция, то скажу так: функциональная опция – это инструмент настройки интерфейса и функционала 1С:Предприятия в зависимости от установленных настроек базы. Все ясно и логически понятно.  

1.      Типы хранения Функциональных опций в 1С

Итак, существует три вида этого инструмента, а точнее три места, где оно хранится:

1.      Константа;

2.      Реквизит справочника;

3.      Ресурс регистра сведений.

Все эти виды должны быть с типом «Булево». 

Чаще всего выбирают тип хранения константы. Проще всего использовать именно их. Все типовые функциональные опции, особенно самые важные для работы, выводятся во вкладку «Общие настройки» на вкладке «Администрирование». Для разных конфигураций эта вкладка может называться по-разному и находиться, к примеру, не во вкладке «Общие настройки», а во вкладке «НСИ».Разберем на примерах каждый из типов хранения значений опций.  

2.      Тип хранения константа 1С 8.3

Первый тип хранения константа. Это самый простой и логический вариант для настройки функционала 1С. Для этого нам всего лишь необходимо будет создать константу и, конечно же, функциональную опцию, где в качестве места мы выбираем нашу константу.

Хочу повториться, константа должна быть булевского типа – и никак иначе. При необходимости мы можем вывести нашу константу на какую-то форму для ее удобного использования.

На вкладке «Состав» опции мы настраиваем доступ к отдельным объектам, к которым мы можем ограничить доступ нашим инструментом.  

3.      Тип хранения Реквизит справочника 1С 8.3

Итак, второе место хранения – это реквизит справочника 1С 8.3. В этом случае тоже должен быть реквизит булевского типа. К примеру, при настройке организации есть флажок «Ввести учет в нескольких валютах». Если флажок не установлен, то выбирается валюта регламентного учета, а на формах, где выведена валюта, это поле не активно. А вот если он установлен, то сразу после установки нам становится доступным выбор нескольких валют (в таких объектах как справочники и документы).  

4.      Тип хранения Ресурс регистра сведений

И пришло время для последнего места хранения – ресурс регистра сведений. В нем все так же, как и во втором варианте. Единственное различие в том, что можно установить период, за который используется опция. А также к ресурсам одного регистра можно привязать несколько этих инструментов для удобства настройки интерфейса и функционала программы.

Существует еще один важный момент в опциях. Если у пользователя нет прав на какой-то объект, но установлена функциональная опция, то она открывает доступ к этому объекту.

И позвольте сказать, что это лишь малая часть того, что мы можем настроить в системе благодаря чудесному инструменту и объекту конфигурации «Функциональные опции».

Специалист компании ООО «Кодерлайн» 

Мороз Олег.

Фирма “1С” достаточно часто выпускает новые версии платформы. Среди них можно выделить версии-”прорывы” с принципиально новым функционалом. К таким можно отнести, например, платформу 8.3.11, в которой появилась возможность изменять структуру хранения данных при помощи расширений конфигурации.

А могут быть версии платформы не настолько революционные, но в которых появился полезный, ожидаемый функционал и в которых разработчики продолжают планомерное развитие механизмов платформы. И 8.3.16 как раз относится к таким релизам.

В курс Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки добавлено новое занятие, в котором подробно рассмотрены новшества платформы 8.3.16.

Мы решили поделиться этими видеоуроками не только со слушателями курса, но и со всеми нашими подписчиками :)

Обзор новых возможностей платформы

Общая длительность всех видеоуроков – 1 час 6 минут.

Для того, чтобы Вам было проще ориентироваться в материале, мы указали тайминг наиболее важных моментов в видео.

Видео 1 – Введение
Видео 2 – Создание новых констант в расширении конфигурации

01:22 – Как создать константу в расширении
02:44 – Как создать форму констант в расширении
05:22 – Как работать с основной формой константы
05:47 – На что влияет галочка Использовать стандартные команды в свойствах константы.

Видео 3 – Назначение функциональных опций в расширениях конфигурации

00:30 – Зачем вообще нужны функциональные опции
03:29 – На что влияют и на что не влияют функциональные опции.

Видео 4 – Создание новых функциональных опций в расширении конфигурации

01:13 – Как создается функциональная опция в расширении
01:30 – Где указывается объект, предназначенный для хранения значения функциональной опции
02:16 – Какие объекты можно включать в состав функциональной опции в расширении
05:55 – Как обновить интерфейс при изменении значения функциональной опции
07:20 – Как в типовой конфигурации УТ 11 реализована работа с константами и обновление интерфейса при изменении значения функциональной опции
09:58 – Как реализовать собственную простую обработку для настройки функционала конфигурации
13:08 – Можно ли для хранения значения функциональной опции использовать константу, заимствованную из основной конфигурации.

Видео 5 – Модификация заимствованных функциональных опций

01:03 – Можно ли при помощи расширения изменить объект конфигурации, предназначенный для хранения значения функциональной опции?
02:03 – Как изменить состав заимствованной функциональной опции?
04:58 – Можно ли при помощи расширения удалить объекты из состава заимствованной функциональной опции?

Видео 6 – Создание новых параметров функциональных опций

00:33 – В каких случаях на практике используются параметры функциональных опций
06:59 – Как создать в расширении параметр функциональных опций и какие объекты к этому времени должны существовать в расширении
07:30 – Какие обработчики событий нужно реализовать для работы с параметрами функциональных опций в формах объектов
10:32 – При каких настройках функциональных опций в расширении конфигурации платформа падает.

Видео 7 – Создание новых критериев отбора

00:12 – Для чего используются критерии отбора
03:10 – Можно ли при помощи расширения изменить тип критерия отбора
04:00 – Можно ли при помощи расширения добавить в состав критерия отбора заимствованный объект
05:20 – Можно ли при помощи расширения добавить в состав критерия отбора объект, созданный в этом же расширении
05:55 – Как в пользовательском режиме проверить работоспособность критерия отбора, модифицированного при помощи расширения конфигурации
07:35 – Как создать новый критерий отбора в расширении
08:34 – Как в панели навигации формы создать ссылку для перехода к критерию отбора
09:24 – Какие ошибки возникают в пользовательском режиме при использовании критерия отбора, созданного в расширении конфигурации.

Видео 8 – Изменения в редакторе управляемой формы для расширений конфигурации

00:34 – Какие свойства в панели свойств выделяются цветом
01:28 – Как работает команда “Показывать только измененные” в панели свойств
01:53 – Как в дереве элементов формы отобразить только те элементы, которые изменены в расширении

Хотите научиться грамотно дорабатывать конфигурации при помощи расширений?

Еще больше возможностей по доработке и обновлению типовых конфигураций без снятия с поддержки – в нашем учебном курсе Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.

Примеры использования функциональных опций для управления интерфейсом и элементами управляемых форм, с различными вариантами хранения значений: константа, реквизит справочника, ресурс регистра сведений.

Все прекрасно знают, что такое функциональные опции (далее ФО). Все  успешно с ними работают как в типовых конфигурациях, так и в собственных разработках. Так что я не буду описывать основное назначение данного функционала.

Но, как показывает практика, не все в курсе всех возможностей и вариантов применения данного механизма. Данная статья будет кратким практическим пособием по использованию ФО, с описанием всех возможностей механизма. Она будет интересна как начинающим разработчикам, так и более опытным. Некоторые возможности ФО используются достаточно редко, и неплохо всегда иметь под рукой пример использования. 

И так, начнем.

ФО различаются по месту хранения значений:

  • Константа
  • Реквизит справочника
  • Ресурс регистра сведений

Все реквизиты для хранения значений ФО обычно имеют тип «булево».

ФО с местом хранения – константа

Самый простой и наиболее распространенный способ использования механизма ФО.  Собственно, необходимо создать новую константу с типом «булево», создать новую ФО, и выбрать в качестве места хранения созданную ранее константу:

Настройка функциональной опции

На закладке «Состав», нужно выбрать все элементы, на видимость которых будет влиять данная ФО. Это могут быть отдельные объекты, реквизиты и табличные части объектов и команды:

Состав функциональной опции

Дополнительно ФО можно указать для различных реквизитов форм.

Также, есть возможность опционального выполнения каких-либо действий в зависимости от значения ФО. Для получения значения ФО, в данном случае, используется следующий метод:

ПолучитьФункциональнуюОпцию(<Имя ФО>);

При изменении значений ФО в константах, результат можно увидеть сразу же в текущем сеансе, после выполнения следующей команды:

ОбновитьИнтерфейс();

Теоретически, можно привязывать несколько ФО к одним и тем же объектам. Но нужно всегда помнить, что объект или реквизит будет доступен, если будет включена хотя бы одна из всех ФО, подключенных к нему. По этой причине,  подключать к одним и тем же объектам или реквизитам несколько функциональных опций следует очень внимательно.

Для быстрого просмотра всех ФО, которые подключены к объекту, удобно использовать пункт контекстного меню «Дополнительно» в списке объектов конфигурации:

Просмотр подключенных функциональных опций

На заметку. По умолчанию, для новой ФО установлено свойство  «Привилегированный режим при получении». По этому, можно использовать ФО для получения значений объектов на которые у пользователя отсутствуют права.

Параметризуемые ФО с местом хранения – реквизит справочника

Если с константами все просто и интуитивно понятно, данный режим использования является более сложным. В качестве места хранения значения ФО, в данном случае выбирается реквизит справочника с типом «булево».

Но каким образом система поймет, какой элемент справочника необходимо использовать для определения значения ФО?

Для этой цели существует дополнительный объект конфигурации «Параметры функциональных опций»:

Параметры функциональных опций

В свойстве «Использование» должен быть указан справочник, в котором хранится значение ФО. Причем, система не позволяет выбрать для разных параметров ФО в качестве использования один и то же справочник. По этому, параметр ФО однозначно привязан к самой функциональной опции.

Дальше, необходимо установить этот параметр, чтобы система знала, какой элемент справочника нужно использовать. Установка параметров ФО может быть выполнена как для всего интерфейса, так и для каждой конкретной формы. Наиболее распространенным вариантом использования данного вида ФО, является управление элементами форм. Особенно, элементами панели навигации формы, так как другой возможности для программного управления видимостью элементов панели навигации нет.

Необходимо помнить один очень важный момент, если параметр функциональной опции не задан, система будет проверять все элементы справочника. Если хотя бы в одном элементе реквизит – значение ФО будет «Истина», объекты, привязанные к ФО будут доступны. Настройка такого плана достаточно часто применяется в типовых конфигурациях.  

Пример управления видимостью команды «Договоры» в форме элемента справочника «Контрагенты»:

Схема использования ФО с местом хранения значений - реквизит справочника

Необходимо создать ФО с местом хранения – реквизит справочника «Контрагенты.ИспользоватьДоговоры». В состав ФО включить справочник «Договоры». Также, необходимо создать параметр ФО «Контрагент» и установить для свойства «Использование» — справочник Контрагенты. Далее, в модуле формы в событии «ПриСозданииНаСервере», нужно присваивать значению параметра ФО ссылку на текущий объект:

УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("Контрагент", Ссылка));  

 Недостатком данного решения, является необходимость записи контрагента для управления видимостью команды «Договоры». Для решения этой проблемы, можно использовать для хранения значений функциональных опций отдельный справочник. В таком варианте, при изменении управляющего реквизита нет необходимости перезаписывать данные текущего справочника, и результат будет виден непосредственно после изменения. Дополнительным преимуществом такого варианта, будет использование одного параметра ФО «НастройкаФормы» для управления видимостью команд навигации произвольного количества объектов. Свойство параметра ФО «Использование», в данном случае, должно указывать на справочник с настройками:

Механизм управления реквизитами формы с использованием отдельного справочника

В модуле формы в событии «ПриСозданииНаСервере» и при изменении реквизита «Использовать договоры» необходимо разместить программный код следующего вида:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|          ПараметрыФО.Ссылка
|ИЗ
|          Справочник. ПараметрыФО КАК ПараметрыФО
|ГДЕ
|          ПараметрыФО. ИспользоватьДоговоры = & ИспользоватьДоговоры ";
Запрос.УстановитьПараметр("ИспользоватьДоговоры ", Объект. ИспользоватьДоговоры);

РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Если ВыборкаДетальныеЗаписи.Следующий() Тогда
ЭлементНастройки = ВыборкаДетальныеЗаписи.Ссылка;
Иначе
НовыйЭлементНастройки = Справочники. ПараметрыФО.СоздатьЭлемент();
НовыйЭлементНастройки. ИспользоватьДоговоры = Объект. ИспользоватьДоговоры;
НовыйЭлементНастройки.Записать();
ЭлементНастройки = НовыйЭлементНастройки.Ссылка;
КонецЕсли;

УстановитьПараметрыФункциональныхОпцийФормы Новый Структура("НастройкаФормы", ЭлементНастройки));

Похожий механизм применяется в типовых конфигурациях УТ 11, КА 2 и ЕРП 2.

Параметризуемые ФО с местом хранения – ресурс регистра сведений

Применение данного варианта параметризуемых ФО похоже на вариант с местом хранения – реквизит справочника. Отличием можно считать возможность использования нескольких параметров для отбора значения ФО. А также использование системного параметра ФО «Период» для отбора значения по дате в том случае, если для хранения значений ФО используется периодический регистр сведений:

Каждое измерение регистра сведений – это отдельный параметр ФО, который необходимо установить в форме. Дополнительно, можно установить параметр «Период», если требуется получить значение на определенную дату.

Данный функционал удобно использовать в формах документов, для управления видимостью элементов в зависимости от даты. Например, настроить видимость реквизитов или команд панели навигации в зависимости от данных учетной политики, действующей на дату документа:

Схема использования ФО с местом хранения - ресурс регистра сведений    

Пример использования:

ПараметрыФО = Новый Структура;
ПараметрыФО.Вставить("Период", Объект.Дата);
ПараметрыФО.Вставить("Организация", Объект.Организация);
ПараметрыФО.Вставить("Склад", Объект.Склад);
УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыФО);

Также, можно настроить опционально (в зависимости от даты документа) выполнение каких либо произвольных действий. Например дополнительные отборы при выборе значений реквизитов. Для этого нужно будет обращаться к значению ФО напрямую:

Если ПолучитьФукнциональнуюОпциюФормы(«ИспользоватьДополнительныйОтбор») Тогда
...
КонецЕсли;

Не стоит забывать, что существует возможность получения значений параметризуемой ФО вне контекста определенной формы, в любом месте программного кода:

ПараметрыФО = Новый Структура;
ПараметрыФО.Вставить("Период", Объект.Дата);
ПараметрыФО.Вставить("Организация", Объект.Организация);
ПараметрыФО.Вставить("Склад", Объект.Склад);
ПолучитьФункциональнуюОпцию("ИспользоватьДополнительныйОтбор ", ПараметрыФО);

В качестве второго параметра, в данном случае, передается структура со значениями параметров ФО.

На заметку. Дополнительным вариантом использования ФО с местом хранения значений в регистре сведений, является доступ к значениям регистра без наличия у пользователя прав на данный регистр. В этом случае, ресурсы регистра могут иметь произвольный тип данных.

Использование параметризуемых ФО для настройки интерфейса

Как было описано выше, параметризуемые ФО в основном используются для настройки внешнего вида форм. Однако, их можно применять и для настройки всего интерфейса в целом.  Например, можно управлять видимостью интерфейса в зависимости от текущего пользователя системы, или в зависимости от любого другого выбранного параметра (организации, склада, подразделения).

Допустим, в зависимости от организации, которая выбрана для пользователя основной, необходимо показывать в интерфейсе дополнительные команды. Для решения такой задачи, нужно добавить в справочник «Организации» новый реквизит «ВыводитьДопКоманды» с типом «булево». Создать новую ФО, указав в качестве места хранения созданный реквизит. В качестве состава ФО, выбрать необходимые команды или объекты (если нужно выводить стандартные команды).  Создать новый параметр ФО с указанием в свойстве «Использование» — справочник Организации.  Далее, необходимо при запуске системы, в модуле  управляемого приложения, определять организацию, которая выбрана для текущего пользователя основной, и устанавливать параметр функциональных опций интерфейса:

ПараметрыФОИнтерфейса = Новый Структура;
ПараметрыФОИнтерфейса.Вставить("Организация",  ОсновнаяОрганизацияПользователя);
УстановитьПараметрыФункциональныхОпцийИнтерфейса(ПараметрыФОИнтерфейса);

Вот и все, команды будут доступны, если включена соответствующая настройка для текущей организации пользователя.

При необходимости, можно получить значение параметра ФО, который задан для текущего сеанса:

ПараметрФООрганизация = ПолучитьПараметрыФункциональныхОпцийИнтерфейса().Организация;

На заметку. Если одни и те же параметры ФО используются для управления интерфейсом и для управления видимостью реквизитов форм, следует помнить, что параметры, установленные для интерфейса, по умолчанию передаются в управляемую форму.

На сего дня все, если информация показалась Вам интересной, добавляйте в избранное J

Другие мои статьи про механизмы платформы 1С

  1. Работа с объектом «СообщениеПользователю», и другие варианты информирования пользователя.

  2. Основные принципы работы с режимами автоматических и управляемых блокировок. Варианты контроля остатков. Разделение итогов.

Объект 1с «Функциональные опции» — предназначены для выделения в прикладном решении функциональности, которую можно включать (выключать) при внедрении, не изменяя само прикладное решение (совместно с Подсистемами формируют интерфейс тонкого клиента 1С). Являются частью механизма функциональных опций.

Механизм функциональных опций включает в себя два типа объектов метаданных:

  1. Функциональная опция;
  2. Параметры функциональных опций.

Подробнее

Отсюда

Функциональная опция представляет собой объект метаданных, который может непосредственно влиять на состав интерфейса приложения (если функциональная опция хранит свое значение в реквизите типа Булево). С помощью объектов этого типа можно скрыть элементы, которые относятся к недоступной функциональности. Например, опция Валютный учет может скрыть справочник Валюты, поле Валюта из документов, колонку Валютная сумма из отчетов.

Источником значения функциональной опции является объект метаданных, выбранный в качестве свойства Хранение, например, это может быть константа.

В случае хранения значения функциональной опции в реквизите справочника или ресурсе регистра сведений требуется дополнительная информация, которая указывает на то, как именно выбрать значение опции. Для этой цели предусмотрен отдельный объект метаданных – Параметры функциональных опций.

Можно сказать, что параметры функциональных опций являются осями координат пространства значений функциональных опций. Причем один параметр функциональных опций может определять значение «своей» оси координат одновременно для множества функциональных опций.

[свернуть]

Функциональные опции могут оказывать влияние:

  1. на пользовательский интерфейс:
    • глобальный командный интерфейс;
    • реквизиты формы (в том числе колонки реквизита формы типа ТаблицаЗначений или ДеревоЗначений);
    • команды формы;
  2. на отчеты, реализованные с помощью системы компоновки данных;
  3. на алгоритмы, написанные на встроенном языке – имеется возможность получать значения функциональных опций из встроенного языка и использовать их в различных условиях, например, для уменьшения объема вычислений (см., например, Нестандартное применение функциональных опций).

ВНИМАНИЕ! Если клиентское приложение работает с файловым вариантом информационной базы через веб-сервер, то изменение функциональной опции приведет к изменению пользовательского интерфейса только после перезапуска веб-сервера (перезапуск клиентского приложения не вызовет изменение пользовательского интерфейса).

Объект 1с Функциональные опции

  • Хранение — поле, в котором необходимо выбирать объект с типом булево. Как правило, используются константы.
  • Привилегированный режим при получении — флаг отвечает за возможность получения значения функциональной опции в привилегированном режиме.
  • Состав — список объектов и реквизитов объектов, видимость которых включается/выключается при выключении/выключении функциональной опции (будет управляться с помощью управляемой формы).

Например, в зависимости от условий конкретного внедрения, можно предусмотреть отключение учета товаров по складам, чтобы при оформлении документов поступления товаров поле Склад не отображалось в форме документа.

Подробнее…

Особенности использования Функциональных опций 1С:

  1. Функциональные опции могут иметь значения произвольного типа (не обязательно Булево).
  2. Добавляя новую константу для использования функциональной опции, не забудьте включить ее в соответствующую подсистему и назначить на нее права.
  3. Работа с функциональными опциями доступна из встроенного языка, благодаря чему разработчик может создавать собственные алгоритмы обработки значений функциональных опций.
  4. Команда командного интерфейса будет исключена из командного интерфейса в случае, если функциональной опцией отключен:
    • реквизит, являющийся параметром команды;
    • тип параметра команды (если тип параметра команды составной, то команда становится недоступной тогда, когда отключаются все типы параметра).

ВНИМАНИЕ! Функциональные опции и их параметры не влияют на состав базы данных: все таблицы и поля присутствуют в БД независимо от состояния функциональных опций.

Влияние функциональных опций на реквизиты и команды формы:

  1. Основной реквизит управляемой формы типа <Вид>Объект (СправочникОбъект, ДокументОбъект и т.д.) будет отключен в том случае, если функциональной опцией отключен соответствующий объект конфигурации. Анализируются только те функциональные опции, которые не имеют параметров.
  2. Основной реквизит управляемой формы типа ДинамическийСписок будет отключен в том случае, если функциональной опцией отключен объект конфигурации, который указан в качестве основной таблицы динамического списка. Анализируются только те функциональные опции, которые не имеют параметров.
  3. Отключается реквизит формы ссылочного типа, если объект конфигурации, образующий этот тип, отключен функциональной опцией. Реквизит формы составного типа отключается в том случае, если функциональные опции отключают все составляющие типы.
  4. Таблица формы будет отключена, если она отображает данные реквизита формы, отключенного функциональной опцией.
  5. В диалоге выбора типов (например, для полей ввода, связанных с реквизитами составного типа) отсутствуют типы, если объекты конфигурации, формирующие эти типы, отключены функциональной опцией. Информация о типах, отключенных функциональными опциями, кешируется на стороне клиента и очищается через 20 минут или во время вызова метода ОбновитьИнтерфейс().

ВНИМАНИЕ! В отличие от командного интерфейса, значения параметров функциональных опций устанавливаются только для конкретного экземпляра формы.

Создание параметра функциональных опций

Параметр функциональной опции создается с помощью объекта конфигурации 1С «Параметры функциональных опций».

Рисунок

Параметр функциональной опции

[свернуть]

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

Свойства параметра функциональных опций:

  • Использование — устанавливает набор объектов, значения которых будут определять то, как следует выбирать значение функциональной опции. В список доступных объектов входят справочники и измерения регистра сведений. Для каждого параметра функциональных опций в данном списке можно выбрать один справочник (из всего перечня справочников) и по одному измерению каждого регистра сведений.

ВНИМАНИЕ! Нельзя использовать один и тот же объект метаданных в нескольких параметрах функциональных опций.

Подробная статья по использованию — по ссылке http://master1c8.ru/

Функциональные опции позволяют разработчику описать возможности прикладного решения, которые можно оперативно включать или выключать на этапе внедрения и/или в процессе работы системы. Например, возможность работы с дополнительными свойствами товаров можно выделить в отдельную функциональную опцию. Тогда если отключить эту возможность, в интерфейсе прикладного решения «пропадут» все связанные (с дополнительными свойствами товаров) возможности.
Система способна автоматически учитывать состояние сделанных настроек – скрывать выключенные возможности, делая интерфейс приложения более ясным и понятным для пользователя.
При разработке возникают ситуации, когда значение функциональной опции должно зависеть от неких параметров, например, валютный учет ведется не у всех организаций. Для реализации такой зависимости служат Параметры функциональных опций – объекты, параметризующие функциональные опции.

2. На что влияют функциональные опции

2.1. Общая информация

Функциональные опции могут оказывать влияние:
● На пользовательский интерфейс – при выключении каких-либо функциональных опций система скрывает в пользовательском интерфейсе все элементы, относящиеся к ней. При этом затрагиваются следующие элементы интерфейса:
● глобальный командный интерфейс;
● реквизиты формы (в том числе колонки реквизита формы типа ТаблицаЗначений или ДеревоЗначений);
● команды формы;
● отчеты, реализованные с помощью системы компоновки данных.
ВНИМАНИЕ! Если клиентское приложение работает с файловым вариантом информационной базы через веб-сервер, то изменение функциональной опции приведет к изменению пользовательского интерфейса только после перезапуска веб-сервера (перезапуск клиентского приложения не вызовет изменение пользовательского интерфейса).
● На алгоритмы, написанные на встроенном языке – имеется возможность получать значения функциональных опций из встроенного языка и использовать их в различных условиях, например, для уменьшения объема вычислений.
ВНИМАНИЕ! Функциональные опции и их параметры не влияют на состав базы данных. Все таблицы и поля присутствуют в базе данных независимо от состояния функциональных опций.

2.2. Глобальный командный интерфейс

Влияние функциональных опций на глобальный командный интерфейс заключается в том, что система скрывает команды всех объектов, относящихся к выключенным опциям. Например, если значение функциональной опции Закупки равно значению Ложь, то будут скрыты команды открытия раздела Закупки, создания документа ПриходТовара, открытия списка ПриходТовара и т. д.
В свою очередь, опция Закупки может учитывать значение параметра функциональной опции, например, Организация. Изменяя с помощью методов встроенного языка значение этого параметра, можно изменять состояние функциональной опции, а, следовательно, и видимость элемента интерфейса.
Также следует учитывать следующие особенности формирования командного интерфейса:
● Команда будет исключена из командного интерфейса в том случае, если реквизит, являющийся параметром команды, отключен функциональной опцией.
● Команда будет исключена из командного интерфейса в том случае, если тип параметра команды отключен функциональной опцией. Если тип параметра команды составной, то команда становится недоступной тогда, когда отключаются все типы параметра.

2.3. Форма

В форме функциональные опции могут влиять на реквизиты и команды формы и (как следствие) изменять видимость связанных с ними элементов формы (поля и колонки – для реквизитов формы, кнопки – для команд формы). При разработке формы необходимо учитывать следующие особенности поведения системы:
● Основной реквизит управляемой формы типа <Вид>Объект (СправочникОбъект, ДокументОбъект и т. д.) будет отключен в том случае, если функциональной опцией отключен соответствующий объект конфигурации. Анализируются только те функциональные опции, которые не имеют параметров.
● Основной реквизит управляемой формы типа ДинамическийСписок будет отключен в том случае, если функциональной опцией отключен объект конфигурации, который указан в качестве основной таблицы динамического списка. Анализируются только те функциональные опции, которые не имеют параметров.
● Отключается реквизит формы ссылочного типа, если объект конфигурации, образующий этот тип, отключен функциональной опцией. Реквизит формы составного типа отключается в том случае, если функциональные опции отключают все составляющие типы.
● Отключается реквизит формы типа <Вид>Объект (включая основной реквизит формы), если объект конфигурации, образующий этот тип, отключен функциональной опцией. Анализируются только те функциональные опции, которые не имеют параметров.
● Таблица формы будет отключена, если она отображает данные реквизита формы, отключенного функциональной опцией.
● В диалоге выбора типов (например, для полей ввода, связанных с реквизитами составного типа) отсутствуют типы, если объекты конфигурации, формирующие эти типы, отключены функциональной опцией. Информация о типах, отключенных функциональными опциями, кешируется на стороне клиента и очищается через 20 минут или во время вызова метода ОбновитьИнтерфейс().
ВНИМАНИЕ! В отличие от командного интерфейса, значения параметров функциональных опций устанавливаются только для конкретного экземпляра формы.

2.4. Система компоновки данных

Система компоновки данных в основном используется для построения отчетов. Функциональные опции влияют на состав данных, которые выводятся в отчет, и на состав настроек отчета, доступных пользователю. Например, если выключена функциональная опция Валютный учет, то в отчете, выводящем реестр документов Приход товара, будет отсутствовать колонка Валюта и Валютная сумма, а в настройках будет отсутствовать возможность отбора, группировки, сортировки и т. д. по полю Валюта.

2.5. Характеристики

Функциональные опции оказывают влияние на видимость полей формы, которые отображают значение характеристики объекта. Для этого необходимо включить в состав функциональной опции реквизит, хранящий значение характеристики.
Рассмотрим пример. Характеристики используются для справочника Товары, виды характеристик хранятся в плане видов характеристик Характеристики, а значения – в качестве ресурса регистра сведений ЗначенияХарактеристик. Ресурс входит в состав функциональной опции УчетХарактеристик.

Рис. 1. Влияние функциональных опций на характеристики

В случае отключения функциональной опции УчетХарактеристик в формах отключается видимость полей (колонка Значение и поле Значение), отображающих значения характеристик, как показано на рис1.

3. Общая схема работы

Механизм функциональных опций включает в себя два типа объектов метаданных: Функциональная опция и Параметры функциональных опций.
Функциональная опция представляет собой объект метаданных, который может непосредственно влиять на состав интерфейса приложения (если функциональная опция хранит свое значение в реквизите типа Булево). С помощью объектов этого типа можно скрыть элементы, которые относятся к недоступной функциональности. Например, опция Валютный учет может скрыть справочник Валюты, поле Валюта из документов, колонку Валютная сумма из отчетов. Источником значения функциональной опции является объект метаданных, выбранный в качестве свойства Хранение, например, это
может быть константа.
В случае хранения значения функциональной опции в реквизите справочника или ресурсе регистра сведений требуется дополнительная информация, которая указывает на то, как именно выбрать значение опции. Для этой цели предусмотрен отдельный объект метаданных – Параметры функциональных опций.
Можно сказать, что параметры функциональных опций являются осями координат пространства значений функциональных опций. Причем один параметр функциональных опций может определять значение «своей» оси координат одновременно для множества функциональных опций.

Рис. 2. Параметризуемая функциональная опция

Рассмотрим пример: допустим, суммовой учет зависит от склада, принадлежащего конкретной организации (см. рис.98). В нашей информационной базе
можно вести учет от имени разных организаций и на разных складах.
Для хранения значений функциональных опций создадим регистр сведений, где измерениями (осями координат) будут:

Организация (соответствующего типа);
Склад (соответствующего типа).

Ресурсом регистра сведений будет значение функциональной опции суммового учета.
Тогда общая структура конфигурации будет выглядеть следующим образом:
● Регистр сведений СуммовойУчет:
● измерение Организация;
● измерение Склад;
● ресурс СуммовойУчет, имеющий тип Булево.
● Параметр функциональных опций Организация. Свойство Использование указывает на измерение Организация регистра сведений СуммовойУчет.
● Параметр функциональных опций Склад. Свойство Использование указывает на измерение Склад регистра сведений СуммовойУчет.
● Функциональная опция СуммовойУчет. Свойство Хранение указывает на ресурс СуммовойУчет регистра сведений СуммовойУчет.
В результате для того, чтобы определить необходимость ведения суммового учета, нам необходимо в каждом конкретном случае указать значения параметров функциональных опций (Организация и Склад) и получить значение функциональной опции.
Так, в примере, показанном на рис.2, для Организации 1 и Склада 1 суммовой учет разрешен, а для Организации 2 и Склада 1 суммовой учет запрещен.

4. Взаимодействие с другими объектами

Функциональные опции могут быть назначены следующим объектам конфигурации:
● Подсистемы,
● Общие команды,
● Общие формы,
● Константы,
● Критерии отбора,
● Справочник,
● Документ,
● Журнал,
● План счетов,
● План видов характеристик,
● План видов расчета,
● Бизнес-процесс,
● Задача,
● Планы обмена,
● Отчет,
● Обработка,
● Регистр накопления,
● Регистр сведений,
● Регистр бухгалтерии,
● Регистр расчета,
● Команда,
● Реквизит объекта метаданных,
● Табличная часть,
● Реквизит табличной части,
● Признак учета,
● Признак учета субконто,
● Реквизиты адресации,
● Измерение регистра,
● Ресурс регистра.
Также функциональные опции могут влиять на видимость элементов формы.

5. Создание

5.1. Создание функциональной опции

Для того чтобы создать функциональную опцию, необходимо создать объект конфигурации Функциональная опция. Это можно сделать в режиме Конфигуратор обычным способом, то есть в окне конфигурации следует выбрать пункт Общие, далее Функциональные опции и добавить новый объект.

Рис. 3. Создание функциональной опции

В результате будет создан объект конфигурации Функциональная опция, который можно использовать для назначения функциональных опций другим объектам метаданных.

Рис. 4. Хранение значения функциональной опции

Кроме имени объект имеет обязательное для заполнения свойство – Хранение. В редакторе для него можно выбрать один из объектов, который будет являться источником значения опции. В список доступных объектов входят:
● константы,
● реквизиты справочников,
● ресурсы регистров сведений.
Ограничение на тип источника значения опции нет, но для управления интерфейсом пригодны только те функциональные опции, которые хранят свои значения в реквизитах, имеющих тип Булево. Значения функциональных опций с другими типами доступны только для анализа на встроенном языке.
Свойство Привилегированный режим при получении отвечает за способ получения (и кеширования) значения функциональной опции.

Рис. 5. Привилегированный режим при получении значения функциональной опции

Если данное свойство установлено, то значение функциональной опции получается в привилегированном режиме. Полученное значение кешируется для всех сеансов, связанных с данной информационной базой.
Если свойство Привилегированный режим при получении сброшено, то получение значения функциональной опции выполняется в обычном режиме.
Кеширование выполняется для текущего сеанса. Кешируется как значение (если его удалось получить), так и признак невозможности получения значения (в том случае, если значение получить не удалось).
Кеш сбрасывается при изменении значений параметров сеанса.
СОВЕТ. Рекомендуется устанавливать свойство Привилегированный режим при получении для всех случаев, когда значение функциональной опции не содержит конфиденциальную информацию.

5.2. Создание параметра функциональных опций

Для того чтобы создать параметр функциональной опции, необходимо создать объект конфигурации Параметры функциональных опций. Это можно сделать в режиме Конфигуратор обычным способом, то есть в окне конфигурации следует выбрать пункт Общие, далее Параметры функциональных опций и добавить новый объект.

Кроме имени, параметр имеет обязательное свойство Использование. В нем указывается набор объектов, значения которых будут определять то, как следует выбирать значение функциональной опции. В список доступных объектов входят справочники и измерения регистра сведений. Для каждого параметра функциональных опций в данном списке можно выбрать один справочник (из всего перечня справочников) и по одному измерению каждого регистра сведений.
ВНИМАНИЕ! Нельзя использовать один и тот же объект метаданных в нескольких параметрах функциональных опций.

6. Использование

6.1 Назначение объектам метаданных

Объект метаданных (например, справочник) можно отнести к одной или нескольким функциональным опциям. Для этого служит свойство Функциональные опции, которое содержит ссылки на созданные в конфигурации функциональные опции.

Рис. 6. Назначение функциональной опции объекту

Список доступных опций ограничен только теми опциями, для которых в свойстве Хранение назначен объект с типом значения Булево.
ВНИМАНИЕ! Если объекту не назначена ни одна функциональная опция, то он считается видимым всегда. В противном случае объект считается видимым, если хотя бы одна из назначенных ему функциональных опций является включенной (т. е. функциональные опции сочетаются «по ИЛИ»).

6.2. Назначение реквизитам и командам формы

Объекты, принадлежащие форме (Реквизиты и Команды), также можно задействовать в механизме функциональных опций.

Рис. 7. Назначение функциональной опции команде

Сделать это можно в редакторе формы, установив свойство Функциональные опции для требуемого объекта.
Состояние функциональных опций будет влиять на отображение объектов формы точно так же, как это происходит в случае объектов метаданных.
Например, в случае с командой, отключенной с помощью функциональной опции, будут убраны все связанные с ней кнопки.
Если реквизиту формы или команде не назначена ни одна функциональная опция, то реквизит формы или команда считается видимой всегда. В противном случае реквизит формы или команда считается видимой, если хотя бы одна из назначенных ему функциональных опций является включенной.

6.3. Использование в механизме ограничения доступа к данным

В условиях механизма ограничения доступа к данным  Функциональные опции могут использоваться точно так же, как и Параметры сеанса . Допустимо использовать только не зависящие от параметров опции, то есть те, которые привязаны к константам.
ВНИМАНИЕ! Системой контролируется уникальность имен между параметрами сеанса и функциональными опциями.

6.4. Определение значения функциональной опции

Значение функциональной опции определяется объектом, который указан в свойстве Хранение. В случае константы используется ее значение. Для опции, связанной с реквизитом справочника или ресурсом регистра сведений, – значения, хранящиеся в этих объектах. Для того чтобы найти конкретный объект, который хранит значение функциональной опции, необходима дополнительная информация – набор значений параметров функциональных опций.
Если опция хранится в реквизите справочника, параметр должен содержать ссылку на конкретный элемент справочника. Если опция хранится в ресурсе регистра сведений, должны быть указаны значения всех измерений регистра. В этом случае каждое измерение должно характеризоваться своим параметром.
Если для функциональной опции, имеющей тип Булево, заданы не все параметры, то выполняется сложение «по ИЛИ» всех значений с не заданными параметрами. Например, если функциональная опция хранится в регистре сведений с измерениями Организация и Склад и задано только измерение Организация, то значение функциональной опции будет равно Истина, если хотя бы у одного из складов, перечисленных в измерении Склад, значение функциональной опции будет равно значению Истина.
Для функциональной опции, имеющий тип, отличный от Булево, ситуация с не полностью заданными параметрами приводит к генерации исключения.
Методы встроенного языка позволяют получить значение опции, как в зависимости от переданных параметров, так и для параметров, установленных
для командного интерфейса или конкретной формы. В том случае, когда изменение значения объекта, указанного в свойстве функциональной опции Хранение, выполняется в транзакции, собственно значение функциональной опции будет изменено только после завершения транзакции. Пока открыта транзакция – значение функциональной опции будет равно значению, актуальному на момент начала транзакции.
Если функциональная опция привязана к ресурсу периодического регистра сведений, то система использует срез последних для получения значения опции. Если требуется получать значение опции на какую-либо другую дату, необходимо указать значение для параметра функциональных опций Период (Period), имеющий тип Дата, который будет использоваться как дата получения среза. Этот параметр не нужно создавать в метаданных. Он предоставляется системой автоматически.

При использовании параметризованных функциональных опций следует учитывать следующие особенности поведения:
● В формах списков колонка реквизита, связанного с параметризованной функциональной опцией, будет отображаться, если в информационной базе хранится хотя бы одно включенное значение данной функциональной опции.
● Если необходимо, чтобы при открытии формы реквизиты, связанные с функциональными опциями, были отключены по умолчанию, то нужно
установить значения этих параметров в значения, отсутствующие в информационной базе (для справочников – пустая ссылка, для регистров сведений – значения измерений, для которых нет записей). В этом случае функциональная опция будет иметь значение Ложь.
● В том случае, когда в качестве параметра указана ссылка на группу (если типа параметра функциональной опции допускает создание групп), а не ссылка на элемент, поведение системы будет следующим:
● если реквизит, в котором хранится значение функциональной опции, используется             как для элемента, так и для группы, то значение функциональной опции будет                          определяться значением этого реквизита.
● если реквизит, в котором хранится значение функциональной опции, не                                 используется для группы, то при получении значения функциональной опции c                     помощью методов ПолучитьФункциональнуюОпцию(),                                                                     ПолучитьФункциональнуюОпциюФормы() и                                                                                         ПолучитьФункциональнуюОпциюИнтерфейса() будет возращено значение NULL. Если,         параметризованная таким значением, функциональная опция оказывает влияние на             пользовательский интерфейс, то система будет воспринимать ее как выключенную               (функциональная опция будет иметь значение Ложь).
● Для командообразующих объектов метаданных возможно установить привязку к параметризованной функциональной опции. В командном интерфейсе команды таких объектов будут отображаться только в том случае, если есть хотя бы одна комбинация параметров функциональных опций, при которых значение функциональной опции равно Истина. Однако с помощью метода  УстановитьПараметрыФункциональныхОпцийИнтерфейса() можно задать конкретные значения параметров функциональных опций, и тогда видимость
команд будет определяться именно заданными параметрами.
● Динамический список автоматически использует функциональные опции, используемые формой. Если реквизиты, которые используются в запросе динамического списка, будут отключены при заданной комбинации параметров функциональных опций, данные по ним не будут выбраны и отображены в динамическом списке, а реквизит будет удален из списков доступных реквизитов в диалоге настройки отображения данных
динамического списка (в режиме 1С:Предприятие).

7. Работа с функциональными опциями во встроенном языке

Методы глобального контекста ПолучитьФункциональнуюОпцию() и ПолучитьФункциональнуюОпциюИнтерфейса() возвращают значение функциональной
опции. Разница между ними заключается в том, что первый метод позволяет указать набор параметров функциональных опций, а второй – возвращает значение функциональной опции исходя из параметров, заданных для командного интерфейса. В форме есть свой метод, который возвращает значение опции для параметров, указанных в рамках формы, – ПолучитьФункциональнуюОпциюФормы().
Для обновления глобального командного интерфейса следует явным образом вызывать метод УстановитьПараметрыФункциональныхОпцийИнтерфейса().
Командный интерфейс будет обновлен с учетом нового состояния функциональных опций.
ПРИМЕЧАНИЕ. Если значение функциональной опции изменяется в базе данных, то автоматического обновления глобального командного интерфейса и открытых в это время форм не происходит. Для этого следует использовать метод ОбновитьИнтерфейс() после записи значений функциональных опций в базу данных.
Следует помнить, что установка параметров функциональных опций (и выполнение метода ОбновитьИнтерфейс()) приводит к следующим последствиям:
● для каждой формы вызывается закрытие всех вспомогательных форм (с вызовом соответствующих обработчиков);
● формы, отказавшиеся от закрытия, не закрываются;
● происходит обновление состава элементов основной формы;
● если на момент обновления интерфейса активной формой была основная, происходит отображение основной формы в соответствии с новым составом элементов;
● если на момент обновления интерфейса активной формой была вспомогательная форма, то:
● будет выполнена команда открытия вспомогательной формы, если после обновления интерфейса она является доступной;
● в противном случае обновляется состав элементов основной формы и выполняется ее отображение;
● если на момент обновления интерфейса активной формой была вспомогательная форма, открытая с помощью команды, не относящейся к панели навигации формы, то вместо этой формы будет обновлен состав элементов основной формы и выполнено ее отображение.
Для того чтобы обновить конкретную форму, следует либо заново открыть ее, либо вызвать метод УстановитьПараметрыФункциональныхОпцийФормы(),
при этом вышеописанная последовательность действий отрабатывает только для той формы, в контексте которой вызвана установка параметров функциональных опций формы.
Параметры не обязательно указывать все сразу, можно изменить значение конкретного параметра или набора параметров выборочно. Но эффективнее осуществляется именно групповая установка значений одним вызовом.
Для получения значений параметров необходимо вызвать соответствующую функцию (ПолучитьПараметрыФункциональныхОпцийИнтерфейса() или
ПолучитьПараметрыФункциональныхОпцийФормы()), которая вернет установленные параметры в виде структуры, где ключом будет выступать имя параметра.
При открытии форма автоматически использует параметры функциональных опций, установленных для командного интерфейса.

Показывать по
10
20
40
сообщений

Новая тема

Ответить

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

При очередном обновлении конфигурации 1С с версии 3.0.44.124 на 3.0.44.198 используя рекомендованную платформу 8,3,9,1818 я получаю вот такое сообщение на скриншотах:

Скрытый текст

Подскажите, на сколько это вообще опасное сообщение. Я сколько не читал, так и не понял, что имеется ввиду.

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

При обновлении дальше на 3.0.44.204 используя ту же платформу только 1 ошибка связанная с Новостями для Девелоперов, которой конечно уже в помине нету на сервере :) Значит всё рОвно при обновлении предыдущем прошло?

Скрытый текст

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

И дальше на 3.0.46.20 тоже самое, что и в моём втором посте. Интересно долго это сообщение будет за мной следовать :)

Контрольное Cоотношение Равенство

Дата регистрации: 28.01.2018
Сообщений: 229

F_L,
помеченные на удаление удалили?
ТиИ сделали?
кэши почистили?

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

Контрольное Cоотношение Равенство, вот с первым не уверен, а второй и третий пункт: Да и Да.
В итоге со второй ошибкой про «СтандартныеЗначения_Developers» я обновился до 3.0.46.11. Это ошибка как я вижу не критическая , а предупреждение. Что она означает — мне не понятно конечно. А первая ошибка с функциональной опцией попросту исчезла — что конечно прекрасно, но не понятно :-/

Никита Мельников

Дата регистрации: 24.04.2020
Сообщений: 4

Странно когда ошибка уходит сама, потому как есть вероятность, что вернется и гораздо больше(

Показывать по
10
20
40
сообщений

  1. Добрый день. Ситуация не понятна мне, может подскажите. Запускаю внешний отчет на серверной базе выдается ошибка «Ошибка при получении значения функциональной опции «ИспользоватьСрокИсполненияВоВходящих»»Нет доступа :» При формировании такого-же отчета, но в локальной базе ошибку не выдает. Что может быть ?

    Конфа. Документооборот 1.3. (управляемое приложение)
    Платформа 8.2.17.153


  2. Tiger86

    Offline

    Tiger86
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104

    получаете данные на клиенте???


  3. Tiger86

    Offline

    Tiger86
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104

    все данные в управляемом приложении надо получать на сервере.. вот и пишет видимо что нет доступа, а в локальной базе и клиент и сервер одна машина, потому нет ошибки как правило

  4. А как в СКД получать данные через сервер ?


  5. Tiger86

    Offline

    Tiger86
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104

    блин, ну когда же задача будет описана полностью. Вы хоть раз упомянули СКД? ветка есть специальная про СКД ведь даже — перенести туда?

  6. Не сердитесь :) Не знал о ветке , про СКД . Переносить не нужно (можно удалить даже тему), сам разобрался. Спасибо за наводку.


  7. Tiger86

    Offline

    Tiger86
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104

    удалять не нужно вовсе… просто получается почуствуй себя телепатом… вы то знаете что у вас СКД, а мы нет… постарайтесь формулировать задачу более полно и если вы разобрались и вам нетрудно, то укажите решение, чтоб столкнувшиеся с данной проблемой увидели решение

  8. В правах была загвоздка, забыл назначить нужные права на запуск.


  9. AnFlame

    Offline

    AnFlame

    Регистрация:
    14 май 2014
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1

    У меня похожая проблема. Борюсь с правами.
    Какие именно права на запуск?
    Отчет на СКД. Добавлен во внешние отчеты и обработки.
    Режим запуска обработки — безопасный? Вы это имеете ввиду ?

    Последнее редактирование: 24 фев 2015

  10. Draco

    Offline

    Draco
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.722
    Симпатии:
    961
    Баллы:
    204

    Имеется ввиду ограничение правд доступа на уровне записей на справочник внешние отчеты и обработки.


  11. AnFlame

    Offline

    AnFlame

    Регистрация:
    14 май 2014
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1

    Спасибо.
    Мне помогло » безопасный режим» ложь )


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.21.14) Для загрузки кассовых документов написана внешняя обработка. Под пользователем с полными правами выполняется нормально, а под пользователем с включенным профилем «Главный бухгалтер» + профиль, в котором включено использование внешних обработок, права ко всем организациям, выдается ошибка Вот это выдается пользователю. ============================ Проблема Приходный кассовый ордер  от 03.06.2013 8:03:17 {ВнешняяОбработка.ДополнительныеВозможностиБухТЭСК_Управляемая.МодульОбъекта}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль}: Ошибка при вызове метода контекста (Выполнить): Недостаточно прав для работы с таблицей «РегистрСведений.ВерсииПодсистем» Вот это пишется в журнал ========================== {ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль}: Ошибка при вызове метода контекста (ПолучитьФункциональнуюОпцию)        АктуальнаяДата = ПолучитьФункциональнуюОпцию(«АктуальнаяДатаОбновленияПовторноИспользуемыхЗначенийМРО»); по причине: Ошибка при получении значения функциональной опции «АктуальнаяДатаОбновленияПовторноИспользуемыхЗначенийМРО». Нет доступа: объект: ‘Константа.ДатаОбновленияПовторноИспользуемыхЗначенийМРО’ Таблица: ‘Const10560’, SDBL-команда: ‘SELECT’. Часть кода внешней обработки // это в модуле формы Интерактивно этот пользователь документы создавать может.

и ? сам же написал. Недостаточно прав для работы с таблицей «РегистрСведений.ВерсииПодсистем» исправь права и грузи

Лол в том, что буху придется давать права администратора.

Я использую свой спец модуль для записи объекта. Запись происходит при установленном привилегированном режиме.

Не рекомендуются. Хотя я все таки дал. ибо система прав не очень разумна.

Тут интересно, а ручками пользователь с профилем Главный бухгалтер тоже не может провести ПКО что ли?

Непонятный вопрос. Там вывоз перед записью, а не при проведении доков. Если мне не изменяет память вот в чем косяк: Из формы внешней обработины не видны параметры сеанса и соот-но на куче всякой хрени обработки падают.

Я в первом сообщении писал: Интерактивно этот пользователь документы создавать может. Похоже что прав. Поищу в этом направлении. А вообще там в процедурах, где выпадает ошибка стоит УстановитьПривилегированныйРежим(Истина) но оно не срабатывает, хотя модули выполняются на сервере в тонком клиенте.

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

Процедуры, о которых я писал в — родные 1С-овские. Привилегированный режим почему-то не устанавливается. В конфигурацию вмешиваться — табу, только внешними обработками.

Почему табу? Никаких проблем с обновлением, ведь конфа на поддержке. а общий модуль он твой, отдельно от поставки.

Сейчас на тестовой БД проверил. Не изменял ничего, просто включил обработку в конфигурацию и дал на нее права. Все работает. Похоже, что когда серверные процедуры/функции вызываются из внешней обработки, тогда не работает установка привилегированного режима. То ли ошибка, то ли так задумано.

я же тебе в еще в написал

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Показывать по
10
20
40
сообщений

Новая тема

Ответить

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

При очередном обновлении конфигурации 1С с версии 3.0.44.124 на 3.0.44.198 используя рекомендованную платформу 8,3,9,1818 я получаю вот такое сообщение на скриншотах:

Скрытый текст

Подскажите, на сколько это вообще опасное сообщение. Я сколько не читал, так и не понял, что имеется ввиду.

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

При обновлении дальше на 3.0.44.204 используя ту же платформу только 1 ошибка связанная с Новостями для Девелоперов, которой конечно уже в помине нету на сервере :) Значит всё рОвно при обновлении предыдущем прошло?

Скрытый текст

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

И дальше на 3.0.46.20 тоже самое, что и в моём втором посте. Интересно долго это сообщение будет за мной следовать :)

Контрольное Cоотношение Равенство

Дата регистрации: 28.01.2018
Сообщений: 229

F_L,
помеченные на удаление удалили?
ТиИ сделали?
кэши почистили?

F_L

Дата регистрации: 15.03.2020
Сообщений: 6

Контрольное Cоотношение Равенство, вот с первым не уверен, а второй и третий пункт: Да и Да.
В итоге со второй ошибкой про «СтандартныеЗначения_Developers» я обновился до 3.0.46.11. Это ошибка как я вижу не критическая , а предупреждение. Что она означает — мне не понятно конечно. А первая ошибка с функциональной опцией попросту исчезла — что конечно прекрасно, но не понятно :-/

Никита Мельников

Дата регистрации: 24.04.2020
Сообщений: 4

Странно когда ошибка уходит сама, потому как есть вероятность, что вернется и гораздо больше(

Показывать по
10
20
40
сообщений

Читают тему:

Понравилась статья? Поделить с друзьями:
  • Ошибка при получении значения атрибута контекста что это
  • Ошибка при получении значения атрибута контекста текущиеданные
  • Ошибка при получении значения атрибута контекста сумма
  • Ошибка при получении значения атрибута контекста строки
  • Ошибка при получении значения атрибута контекста результат