Имя: Пароль:
1C
1С v8
програмное изменение документа
0 antiteror91
 
13.09.13
12:17
Здравствуйте. Я програмно пытаюсь изменить документ через внешнюю обработку. При этом необходимо чтоб в конце открылась форма этого документа с измененными данными. Текст процедурки следующий.
Если НЕ Объект.ДокументПоступлениеТоваров = Документы.ПоступлениеТоваров.ПустаяСсылка() Тогда
        НовыйДокумент = Объект.ДокументПоступлениеТоваров.Ссылка.ПолучитьОбъект();
        Если Объект.ОчиститьТабличнуюЧасть = Истина Тогда
            НовыйДокумент.Товары.Очистить();
        КонецЕсли;
        Для каждого Строка ИЗ Объект.Номенклатура Цикл
            НоваяСтрокаТоваров = НовыйДокумент.Товары.Добавить();
            НоваяСтрокаТоваров.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Строка.НаименованиеИАртикул,Истина);
            НоваяСтрокаТоваров.Характеристика = Справочники.Характеристики.НайтиПоНаименованию(Строка.ХарактеристикаЦвет, Истина);
            НоваяСтрокаТоваров.Количество = Число(Строка.Количество);
            НоваяСтрокаТоваров.Цена = Число(Строка.Цена);
            НоваяСтрокаТоваров.Сумма = Число(Строка.Количество)*Число(Строка.Цена);
            НоваяСтрокаТоваров.СтавкаНДС = Справочники.Номенклатура.НайтиПоНаименованию(Строка.НаименованиеИАртикул,Истина).СтавкаНДС;
        КонецЦикла;
            НовыйДокумент.Записать();
            
            Форма = НовыйДокумент.ПолучитьФорму("Документ.ПоступлениеТоваров.ФормаДокумента");

            //Форма = ПолучитьФорму("Документ.ПоступлениеТоваров.Форма.ФормаДокумента");
            //Форма.Объект.Дата = ТекущаяДата();
            
            Форма.Открыть();


    КонецЕсли;

Проблема в том что форма принимает значение неопределено и следовательно выходит ошибка {Форма.Форма.Форма(307)}: Значение не является значением объектного типа (Открыть)
            Форма.Открыть();
Подскажите как исправить данную проблему??
1 Maxus43
 
13.09.13
12:18
Форма = НовыйДокумент.ПолучитьФорму("ФормаДокумента");
2 Maxus43
 
13.09.13
12:19
вообще код радует, оригинальными условиями и прочими штуками... как раз на праздник
3 ICWiner
 
13.09.13
12:20
воу-воу-воу
Объект.ДокументПоступлениеТоваров.Ссылка.ПолучитьОбъект();
палехче
4 antiteror91
 
13.09.13
12:20
(1) {Форма.Форма.Форма(302)}: Ошибка при вызове метода контекста (ПолучитьФорму)
            Форма = НовыйДокумент.ПолучитьФорму("ФормаДокумента");
по причине:
Интерактивные операции недоступны
Интерактивные операции недоступны

вот что выхот в этом случае
5 ICWiner
 
13.09.13
12:22
Прав добавь пользователю своему.
6 Otkr
 
13.09.13
12:23
(4) Функция небось на сервере выполняется?
7 ICWiner
 
13.09.13
12:23
ПолучитьФорму. Доступность:

Толстый клиент.
Мб ты в тонком делаешь?
8 antiteror91
 
13.09.13
12:26
(7) да на тонком делал(( спасибо всем и с праздником!!
9 antiteror91
 
13.09.13
12:29
кстати а по почему у формы вид не такой как в документе? табличные части не на страницах а одна под другой.?
10 Philix
 
13.09.13
12:32
(9) так выглядят автоматически сгенерированные формы.
11 antiteror91
 
13.09.13
12:38
(10) а получить стандартную форму но заполненную можно??
Я заменил Форма = НовыйДокумент.ПолучитьФорму("ФормаДокумента");
на Форма = НовыйДокумент.ПолучитьФорму("Документ.ПоступлениеТоваров.Форма.ФормаДокумента"); в итогк открывается форма нормально но она пустая....