Имя: Пароль:
1C
1С v8
открытие и заполнение обработки в разных процедурах
0 r2d24
 
03.10.13
12:35
Это образец кода, который открывает внешнюю обработку и заполняет ее реквизит Склад.
А как сделать, чтобы обработка вызывалась в одной процедуре(функции), а заполнялся реквизит в другой процедуре(функции)?
Пытался разбить код, но не получается

Обраб=ВнешниеОбработки.Создать("D:\Вадим\НаОприходованиеТоваров.epf");
Обраб.ПолучитьФорму().Открыть();
Обраб.Склад=Справочники.Склады.НайтиПоНаименованию("Склад материалов");
1 BuHu
 
03.10.13
12:42
(0)чего хотите то?
2 r2d24
 
03.10.13
12:45
(1) В модуле объекта, например есть процедура1, она должна открыть внешнюю обработку. А процедура2, она должна заполнить реквизит внешней обработки
3 r2d24
 
03.10.13
12:46
+(2) Долго объяснять что нужно, поэтому объяснил на простом примере
4 hhhh
 
03.10.13
12:48
(2)

Перем Обраб;

Процедура Процедура1()
    Обраб=ВнешниеОбработки.Создать("D:\Вадим\НаОприходованиеТоваров.epf");
КонецПроцедуры


Процедура Процедура2()
          Обраб.Склад=Справочники.Склады.НайтиПоНаименованию("Склад материалов");

КонецПроцедуры
5 Rovan
 
гуру
03.10.13
12:49
(2) не рекомендуется в модулях объектов открыть формы
т.к. модули объектов это по сути серверные блоки
6 Max Street
 
03.10.13
12:49
как-то так

в модуле формы откуда открываешь обработку:

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


в модуле формы обработки:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Параметры.Свойство("ДокументОтбора") Тогда
        Объект.Реквизит = Параметры.ДокументОтбора;
    КонецЕсли;
КонецПроцедуры
7 r2d24
 
03.10.13
12:53
(4) В процедуре2 переменная Обраб будет неизвестна
8 catena
 
03.10.13
12:54
(7)С чего бы, если она объявлена?
9 r2d24
 
03.10.13
12:56
(8) она объявлена в процедуре1, а в процедуре2 не объявлена
10 r2d24
 
03.10.13
12:56
(6) мне трудно понять, у меня обычное приложение
11 BuHu
 
03.10.13
12:57
(9)
Перем Обраб;
из (4) неочем не говорит?
12 r2d24
 
03.10.13
13:04
(11) Глобальная переменная.
Но выскакивает сообщение
"Данный модуль может содержать только определения процедур и функций"
Перем Обраб; поместил перед всеми процедурами
13 r2d24
 
03.10.13
13:08
Эти процедуры находятся в общем модуле, где нельзяя объявить глобальных переменных
14 BuHu
 
03.10.13
13:16
(13) ты писал про модуль объекта . может все таки расскажешь , что хочешь сделать , возможно ответ получешь быстре
15 hhhh
 
03.10.13
13:16
(13) значит в (2) ты наврал. Лжец.
16 r2d24
 
03.10.13
14:13
(14),(15) я извиняюсь что напутал
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.