Имя: Пароль:
1C
1C 7.7
v7: Програмно сделать форму только для чтения
,
0 Новичёк123123
 
18.07.11
17:30
Здравствуйте) У меня такой вопрос: Нужно из модуля первого документа программно создать второй, заполнить его и сделать только для просмотра. Всё получается кроме сделать только для просмотра. Пробовал так:

ДокСчетНовый=СоздатьОбъект("Документ.Счет");
               ДокСчетНовый.Новый();  
               ДокСчетНовый.Фирма=Фирма;
               ДокСчетНовый.Контрагент=Контрагент;
               ДокСчетНовый.КатегорияЦен=КатегорияЦен;  
               ДокСчетНовый.ДатаОплаты=ДатаОпл;
           
               ДатаКонцаМесяца=КонМесяца(ДатаДок);  
               ДнейРезерва=ДатаКонцаМесяца-ДатаДок;
               ДнейРезерва=Число(ДнейРезерва);
               ДокСчетНовый.СрокРезервирования=ДнейРезерва;
               ДокСчетНовый.Валюта=Валюта;                 //////////////////////////////////////////////////////////////////////////////
               ДокСчетНовый.Дата_Курса=Дата_Курса;
               ДокСчетНовый.Курс=Курс;
               ДокСчетНовый.Рсчет = Фирма.СчетПоУмолчанию;
               ДокСчетНовый.Договор=Договор;  
               
               ДокСчетНовый.НоваяСтрока();
               ДокСчетНовый.Товар=ТабЗначПа.ТоварАкционногоПакета;
               ДокСчетНовый.УстановитьНовыйНомер("АКС-");
               ДокСчетНовый.Записать();    
               ДокСчетНовый.Форма.ТолькоПросмотр(1);
               ОткрытьФорму (ДокСчетНовый.ТекущийДокумент());
               СсылкаНаСчет=ДокСчетНовый.ТекущийДокумент();
1 ДенисЧ
 
18.07.11
17:30
ТО есть в синтакс-помощник ты даже глянуть не потрудился?
2 Новичёк123123
 
18.07.11
17:31
потрудился пишет что поле агрегатного объекта форма не обнаружено
3 ДенисЧ
 
18.07.11
17:32
чего???
4 Новичёк123123
 
18.07.11
17:32
ДокСчетНовый.Форма.ТолькоПросмотр(1);
{Документ.РасходнаяНакладная.Форма.Модуль(3009)}: Поле агрегатного объекта не обнаружено (Форма)
5 ДенисЧ
 
18.07.11
17:32
А, ну да.
Где ты увидел объекта документ свойство Форма?
И ещё прочитай всё-таки про ОткрытьФорму() - удившься...
6 NS
 
18.07.11
17:34
(5) Думаю что после открытия формы и через контекст можно.
Но вообще конечно верни всем у кого украл.
7 andrewks
 
18.07.11
17:35
(6) +1
8 Новичёк123123
 
18.07.11
17:35
Всмысле верни всем у кого украл?)
9 andrewks
 
18.07.11
17:35
(8) это не тебе
10 NS
 
18.07.11
17:35
(8) СП. У тебя же его украли?!
11 Новичёк123123
 
18.07.11
17:38
Сп это синтаксис помощник?
12 smaharbA
 
18.07.11
17:38
Чо издеваетесь ? )))

ОткрытьФорму(<?>,,)
Синтаксис:
ОткрытьФорму(<Документ>,<КонтекстФормы>,<РежимПросмотра>)
Назначение:
Открывает визуальную форму существующего документа или элемента/группы справочника.
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<Документ> - выражение со значением типа 'документ';
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен);
<РежимПросмотра> - необязательный параметр. Числовое выражение: 1 - открыть форму в режиме только просмотра; 0 - открыть форму в режиме редактирования; -1 (минус единица) - в этом случае используется вариант, предусмотренный текущим значением параметра ''Режим открытия объектов'', установленным пользователем интерактивно.
Замечание:
Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0.
13 Новичёк123123
 
18.07.11
17:39
Тогда другой вопрос: а не открывая форму можно её сделать только для просмотра?
14 NS
 
18.07.11
17:39
(13) В смысле?
15 andrewks
 
18.07.11
17:40
(13) а можно новорожденному чепчик одеть, если он ещё не родился?
16 Fram
 
18.07.11
17:41
(13) бугага
17 smaharbA
 
18.07.11
17:41
(14)(15)(16) - а чо ржоте ))))
можно и права не дать
18 Новичёк123123
 
18.07.11
17:42
Создать програмно из модуля  документ, заполнить его, записать. И сделать только для чтения. При этом вообще его не открывая.
19 andrewks
 
18.07.11
17:43
(18) можно
20 Новичёк123123
 
18.07.11
17:44
Урааа значит можно) А можно подсказку в каком направлении двигаться)
21 smaharbA
 
18.07.11
17:45
либо права, либо в форме условия в приоткрытии()
22 Новичёк123123
 
18.07.11
17:47
Нужно именно програмно из первого документа создать второй и поставить только для просмотра. При этом даже не залазить в модуль второго. И права не подходят(
23 smaharbA
 
18.07.11
17:48
(22) в приоткрытии()
24 andrewks
 
18.07.11
17:48
короче, делаешь реквизит у дока - ТолькоЧтение,
ПриОткрытии() - если ТолькоЧтение=1 Тогда Форма.ТолькоПросмотр(1) и т.д. и т.п.
25 Новичёк123123
 
18.07.11
17:53
Ага понял) Большое Спасибо)
26 smaharbA
 
18.07.11
17:56
+ можно и без доп реквизита - проверять наборправ
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.