Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Открыть форму только для просмотра

Открыть форму только для просмотра
Я
   Alex70
 
25.07.18 - 07:51
Привет всем! Нужно реализовать когда выделяешь строку в Списоке Документов и  нажимаешь на кнопку "ОткрытьТолькоДляПрочтения" открывалась форма Документа с установленной галочкой "ОткрытьТолькоДляПрочтения" и документ был в режиме только просмотр. Подскажите все никак не могу получить саму форму?



Процедура ДействияФормыОткрытьНаЧтение(Кнопка)
        
    ТекСтрока = ЭлементыФормы.ДокументСписок.ТекущаяСтрока;    
    ФормаДокумента = ПолучитьФорму("ФормаДокумента");
    Если ФормаДокумента.ОткрытьТолькоНаЧтение = Истина Тогда
        Форма.Открыть();
    КонецЕсли;    
        
    
КонецПроцедуры
 
 
   Малыш Джон
 
1 - 25.07.18 - 07:52
У формы разве нет свойства "Только просмотр"?
   Wirtuozzz_II
 
2 - 25.07.18 - 07:58
Форма.ТолькоПросмотр = Истина;
   Alex70
 
3 - 25.07.18 - 07:58
(1) Св-во такое есть. Но в будущем планируется устанавливать "только просмотр" для определенных пользователей.
   Малыш Джон
 
4 - 25.07.18 - 08:00
(3) я не против, устанавливай и им
   Малыш Джон
 
5 - 25.07.18 - 08:00
Если ПользовательОпределенный(ПараметрыСеанса.ТекущийПользователь) Тогда
  Форма.ТолькоПросмотр = Истина;
КонецЕсли;
   Alex70
 
6 - 25.07.18 - 08:03
Проблема основная в том что не могу получить форму. Ругается:
_____________________________________
{Документ.тлкГрупповаяСпецификация.Форма.ФормаСписка.Форма(120)}: Ошибка при вызове метода контекста (ПолучитьФорму)
    Форма = ПолучитьФорму("ФормаДокумента");
по причине:
Неизвестное имя формы. Имя: "ФормаДокумента"
   Малыш Джон
 
7 - 25.07.18 - 08:05
(6) потому что в этом контексте так форму не получишь.

ТекущаяСтрока = ЭлементыФормы.ДокументСписок.ТекущаяСтрока;
НужнаяФорма = ТекущаяСтрока.ПолучитьФорму();
НужнаяФорма.ТолькоПросмотр = Истина;
НужнаяФорма.Открыть();
   Малыш Джон
 
8 - 25.07.18 - 08:05
+(7) это если ДокументСписок - это список документов
   Wirtuozzz_II
 
9 - 25.07.18 - 08:06
Глобальный контекст.ПолучитьФорму (Global context.GetForm)
Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:

ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>)
Параметры:

<ИмяФормы> (обязательный)

Тип: Строка.
Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Имена форм по умолчанию:
ФормаОбъекта (ObjectForm) - форма объекта по умолчанию; 
ФормаГруппы (FolderForm) - форма группы по умолчанию; 
ФормаЗаписи (RecordForm) - форма записи регистра по умолчанию; 
ФормаСписка (ListForm) - форма списка по умолчанию; 
ФормаВыбора (ChoiceForm) - форма выбора по умолчанию; 
ФормаВыбораГруппы (FolderChoiceForm) - форма выбора группы по умолчанию; 
ФормаКонстант (ConstantsForm) - форма констант по умолчанию для обычного режима, установленная как форма констант для конфигурации; 
Форма (Form) - форма константы, отчета и обработки по умолчанию; 
ОбщаяФорма (CommonForm) - общая форма; 
ФормаНастроек (SettingsForm) - форма настроек отчета по умолчанию; 
ФормаЗагрузки (LoadForm) - форма загрузки настроек; 
ФормаСохранения (SaveForm) - форма сохранения настроек; 
ФормаВарианта (VariantForm) - форма редактирования варианта отчета; 
ФормаЗагрузкиПользовательскихНастроекОтчетов (ReportUserSettingsLoadForm) - форма загрузки настроек отчета; 
ФормаСохраненияПользовательскихНастроекОтчетов (ReportUserSettingsSaveForm) - форма сохранения настроек отчета; 
ФормаЗагрузкиВариантовОтчетов (ReportVariantsLoadForm) - форма загрузки варианта отчета; 
ФормаСохраненияВариантовОтчетов (ReportVariantsSaveForm) - форма сохранения варианта отчета; 
ФормаЗагрузкиНастроекДанныхФорм (FormDataSettingsLoadForm) - форма загрузки настроек данных форм; 
ФормаСохраненияНастроекДанныхФорм (FormDataSettingsSaveForm) - форма сохранения настроек данных форм; 
ФормаПоиска (SearchForm) - форма полнотекстового поиска в данных.
Например, для получения общей формы "ОбщиеНастройки" следует в модуле написать код:
 Форма = ПолучитьФорму("ОбщаяФорма.ОбщиеНастройки"); 
 

Для внешних отчетов и обработок имя формы задается следующим образом: 
ВнешнийОтчет.<имя отчета>.Форма.<имя формы>; 
ВнешнийОтчет.<имя отчета>.<имя стандартной формы>; 
ВнешняяОбработка.<имя обработки>.Форма.<имя формы>; 
ВнешняяОбработка.<имя обработки>.<имя стандартной формы>.
При этом внешний отчет или обработка должны быть предварительно зарегистрированы в системе. 
<Параметры> (необязательный)

Тип: Структура.
Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры.
П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();
 

<Владелец> (необязательный)

Владелец формы - форма или элемент управления другой формы. 
<Уникальность> (необязательный)

Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
Ложь - искать форму с ключом уникальности по умолчанию, Истина - не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск.
Значение по умолчанию: Ложь.
<Окно> (необязательный)

Тип: ОкноКлиентскогоПриложения. 
Окно приложения, в котором будет открыта форма.
Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы.
<НавигационнаяСсылка> (необязательный)

Тип: Строка; Неопределено.
Если содержит значение, отличное от Неопределено, то это значение присваивается свойству НавигационнаяСсылка формы, полученной в результате вызова данного метода, и свойство АвтоНавигационнаяСсылка этой формы устанавливается в Ложь.
Значение по умолчанию: Неопределено.
Возвращаемое значение:

Тип: Форма; УправляемаяФорма; Неопределено.
Неопределено - если в обработчике ПриСозданииНаСервере установлен признак отказа от создания формы.
Описание:

Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы.
Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности.
Если в параметре <Уникальность> передано значение Истина, то поиск уже открытых форм не осуществляется.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение(клиент).
Вызов метода выполняет обращение к серверу.

Примечание:

В тонком и веб-клиенте получает только управляемую форму.
Обычные формы внешних обработок не поддерживаются.
Если при получении обычной формы в параметре <ИмяФормы> указано не стандартное имя формы, передаваемые параметры не обрабатываются.
См. также:

Глобальный контекст, метод ОткрытьФорму
Глобальный контекст, метод ОткрытьФормуМодально
Глобальный контекст, метод ПолучитьОбщуюФорму

--------------------------------------------------------------------------------

     Методическая информация
   Малыш Джон
 
10 - 25.07.18 - 08:08
Интерактивный СП) круто)
 
 Рекламное место пустует
   Alex70
 
11 - 25.07.18 - 08:16
(7) Спасибо уже близко к истине. Но получается что все документы открывются только для просмотра, а нужно в чтобы открывались те в доки в которых стоит галочка "ОткрытьТолькоНаЧтение"
   Малыш Джон
 
12 - 25.07.18 - 08:22
(11) ну тут уже давай думай) включай фантазию, логику

здравый смысл наконец

Подсказка: это конечно очень неожиданно,необычно и новаторски, но... попробуй сочетать (7) и (5)
   Alex70
 
13 - 25.07.18 - 08:58
Получилось! Всем спасибо огромное
_____________________________________________
Процедура ДействияФормыОткрытьНаЧтение(Кнопка)
        
    ТекущаяСтрока = ЭлементыФормы.ДокументСписок.ТекущаяСтрока;
    НужнаяФорма = ТекущаяСтрока.ПолучитьФорму();
    
    Если НужнаяФорма.ОткрытьТолькоНаЧтение = Истина Тогда
        НужнаяФорма.ТолькоПросмотр = Истина;
        НужнаяФорма.Открыть();
    КонецЕсли;
            
КонецПроцедуры
   Малыш Джон
 
14 - 25.07.18 - 08:59
(13) "НужнаяФорма.Открыть()" из условия вытащи
   Alex70
 
15 - 25.07.18 - 09:03
Спасибо ешё раз! Теперь идеально работает

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует