Имя: Пароль:
1C
1С v8
не получается передать переменную из модуля формы в модуль объекта
,
0 desaint08
 
09.06.16
11:52
привет,вопрос может и тупой но мне нужно как то учиться, у меня 1с8.2 обчные формы,
в модуле формы пишу
перем аш экспорт;
далее в процедуре запрос-

Запрос.УстановитьПараметр("подразделение", Подрорг);
    Запрос.УстановитьПараметр("лицо", выбранноезначение.Значение);//элемент.значение);
      
    Результатики = Запрос.Выполнить().Выбрать();//Выгрузить();
    Резул=Запрос.Выполнить().Выгрузить();
    аш=резул;
    
              Материалы.очистить();
        
        пока Результатики.следующий() цикл
               элемент=Материалы.Добавить();

потом пользователь заполняет ,поля
и при обработке проведения,я хотел бы из этой переменной (аш) получить таблицу которая там была,но ее там нет,как ее сохранить и вызвать из модуля объекта.?
1 GROOVY
 
09.06.16
11:55
Проведение документа может быть не интерактивным. Завязываться при проведении на данные формы неверно в корне.
2 desaint08
 
09.06.16
11:58
не ну не суть,просто выполнение как их то действий в модуле объекта,просто данные получаемые из запроса актуальны.
3 xxTANATORxx
 
09.06.16
11:58
(0)Переменные в модуле объекта вообще можно не объявлять, и отказаться от этого
у объекта есть Доп свойства, пользуй их
+ учти что говорить уважаемый GROOVY т.е. перед проведением смотри есть ли такой ключ в доп свойствах
4 desaint08
 
09.06.16
12:04
(3) я не собирался в модуле объекта переменные писать,мне бы ее получить
5 desaint08
 
09.06.16
12:04
почему она пропадает при окончании выполнения процедуры?
6 ptiz
 
09.06.16
12:07
Объект существует независимо от формы.
7 catena
 
09.06.16
12:17
(5)Потому что по окончании процедуры пропадает Резул...
8 desaint08
 
09.06.16
12:22
(7)  то есть чтобы результат (таблицазначений)из переменной не пропали её нужно скопировать? или как ее сохранить в переменную?
9 catena
 
09.06.16
12:23
(8)Можно скопировать, можно сразу в нее внутре выгружать.
10 desaint08
 
09.06.16
12:27
(9) скопировать то скопировал в переменную,однако она пропадпет,при окончании выполнении процедуры.
11 desaint08
 
09.06.16
12:28
как сохранить таблицу значений из результата запроса?
12 catena
 
09.06.16
12:30
(10)Плохо значит скопировал, некачественно.
13 catena
 
09.06.16
12:32
Ищи, где что затирается или где экспорт не объявлен. Всё должно передаваться.
14 desaint08
 
09.06.16
12:32
(12) скопировал в переменную,в модуле формы.
15 Ёпрст
 
09.06.16
12:33
(0) Оно не нужно тебе.
Весь твой код коту под хвост при программном проведении документа.
Если уж так чешется, то либо глоб переменная модуля объекта, либо параметры сеанса.. Но, оно не нужно тебе
16 catena
 
09.06.16
12:36
(15)Не, ну а чисто из интереса. Можно же разнести логику. Например, при открытии рассчитывается какое-то значение, которое необходимо при проведении. Тогда для экономии времени его можно передать в модуль. А в модуле проверить на заполненность и в случае отсутствия уже рассчитывать - для программного проведения.
17 desaint08
 
09.06.16
12:36
никто не ведет разговор о программном проведении,если не получается на форме так то если я это тзапрос в модуле объекта выполню,то тогда переменная не затрется?
18 Ёпрст
 
09.06.16
12:42
(17) да блин,
перем аш экспорт;
напиши не в модуле формы а в Модуле документа, там , где обработкаПроведения
19 desaint08
 
09.06.16
12:43
(18) а если запрос использует временную таблицу?!
20 catena
 
09.06.16
12:44
(17)Это ты не ведешь разговор о программном проведении. А потом ты уйдешь, а кто-то решит документы за год перепровести. И будет просто щаслив.
21 Ёпрст
 
09.06.16
12:47
(19) да хоть ёжика в тумане использует.
22 desaint08
 
09.06.16
12:48
(21) он использут  запрос.МенеджерВременныхТаблиц= ВременныйЗапрос;
а временный запрос это резульат из другого запроса,его мне как передать?
23 hhhh
 
09.06.16
12:48
(19) хоть сто таблиц - это вообще из другой оперы. Какая разница, что там в запросе?
24 Ёпрст
 
09.06.16
12:49
(22) и че ?
У тебя в переменной аш - результат запроса. Че тебе еще надо то ?
25 hhhh
 
09.06.16
12:49
(22) зачем такая фигня? Выкинь этот МенеджерВременныхТаблиц. Используй пакетный запрос.
26 desaint08
 
09.06.16
12:54
как передать "ВременныйЗапрос" из формы на объект? (24)
27 Ёпрст
 
09.06.16
12:55
(26) ВременныйЗапрос - это что за зверь такой ? Где он у тебя в (0) ?
28 desaint08
 
09.06.16
12:58
(27) да нет его,на  форме уменя выполняется 1 запрос,его результаты помещаются в "ВременныйЗапрос" и потом из него при необходимости выбираются данные для другого запроса, вот и как быть?
29 Ёпрст
 
09.06.16
13:01
(28) читать (18) до просветления
30 desaint08
 
09.06.16
13:03
короче все писать в модуле объекта,а из формы только вызывать и передавать параметры?
31 Ёпрст
 
09.06.16
13:04
Если совсем туго, то так:

в модуле формы дока

ВременныйЗапрос  = <тут присваивай что угодно, хз, че тебе там надо>;

в модуле документа:

Перем ВременныйЗапрос  Экспорт;

Процедура ОбработкаПроведения()
   Если ЗначениеЗаполнено(ВременныйЗапрос) Тогда
       //имей свою шляпу в модуле объекта
   КонецЕсли
КонецПроцедуры
32 desaint08
 
09.06.16
13:07
смутно понятно ,сейчас буду разгребать что к чему ,спасибо (31)