|
v7: Вызов процедуры из документа | ☑ | ||
---|---|---|---|---|
0
Erhov_egor
20.07.11
✎
10:15
|
Можно ли вызвать из одного документа в модуле документа процедуру из другого документа, например процедура заполнить()?
ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если КоррСчет_=Сч62_2 Тогда Докум.Новый(); Докум.СчетАванса62=1; Докум.ТипРасчетов=1; Докум.Контрагент = Субконто1; Докум.ДоговорАванса=Субконто2; Докум.ТипРасчетов6=Субконто3; Докум.ДатаДок = ДатаДок; Докум.Записать(); КонецЕсли; КонецЦикла; |
|||
1
1Сергей
20.07.11
✎
10:17
|
не открывая форму другого документа, до её кода не достучаться никак
|
|||
2
Erhov_egor
20.07.11
✎
10:23
|
а если я вызову форму например,то програмно все равно нельзя запустить?
|
|||
3
AeDen
20.07.11
✎
10:26
|
Форма.параметр
|
|||
4
AeDen
20.07.11
✎
10:26
|
в приоткрытии отработай
|
|||
5
Erhov_egor
20.07.11
✎
10:35
|
Т.е. я должен написать так?
к=1; Докум.ОткрытьФорму("ЗачетАвансаПокупателя",пер); Докум.Параметр=к; |
|||
6
Erhov_egor
20.07.11
✎
10:36
|
я просто создаю новый,потом записываю некоторые данные,как открыть этот документ в который я только начал записывать?
|
|||
7
__Se24
20.07.11
✎
10:42
|
вынеси процедуру в глобальник и не заморачивайся )
|
|||
8
miki
20.07.11
✎
10:43
|
(6)открывать-то зачем? Пиши сразу что хочешь, как вариант.
|
|||
9
Erhov_egor
20.07.11
✎
10:44
|
(7)и че это даст? ну передаст он параметр даже,а как он строки заполнит?
|
|||
10
Erhov_egor
20.07.11
✎
10:46
|
(8)а как я процедуру вызову из другого дока? даже если в глобальник вынесу,мне нужно заполнить док тот который я хочу открыть программно
|
|||
11
AeDen
20.07.11
✎
10:48
|
про открытьформу почитай жкк
|
|||
12
miki
20.07.11
✎
10:48
|
(10)заполняешь откуда?
|
|||
13
AeDen
20.07.11
✎
10:48
|
и сделай поиск в конфигурации по ключу Форма.параметр
|
|||
14
Erhov_egor
20.07.11
✎
10:51
|
(12)мне нужно из одного дока в другой перенести некоторые данные,такие как контрагент,дату,вид расчетов. Я создаю новый док и записываю туда,по этим данным в процедуре заполнить он ищет задолжности и заполняет строки...
|
|||
15
chief accountant
20.07.11
✎
10:52
|
(14) Лень процедуру заполнения второго дока перенести в первый?
|
|||
16
AeDen
20.07.11
✎
10:55
|
Групповая печать документов во пример
(15) А смысл? |
|||
17
chief accountant
20.07.11
✎
10:59
|
(16) Нафига форму-то открывать?
|
|||
18
AeDen
20.07.11
✎
11:01
|
(17) Писать меньше.
|
|||
19
AeDen
20.07.11
✎
11:01
|
даи мало-ли, может стоит задача открыть форму нового документа с его заполнением.
|
|||
20
miki
20.07.11
✎
11:01
|
(18)копипаст быстрее :)
|
|||
21
AeDen
20.07.11
✎
11:03
|
(20) как сказать, копипасту надо еще рашпилем подточить зачастую.
|
|||
22
chief accountant
20.07.11
✎
11:04
|
(20) Угумс.
(19) После того как столклулся с глюками при программом создании новых доков и последующем их отркрытий для заполнения - бросил эту затею. Хотя работало несколько лет |
|||
23
AeDen
20.07.11
✎
11:06
|
(22) А какова природа глюков?
|
|||
24
Sereja
20.07.11
✎
11:06
|
(0) Попробуй ВыполнитьПроцедуру Из Формекса
|
|||
25
chief accountant
20.07.11
✎
11:08
|
(23) Не создавался второй документ после обновления платформы на 27 релиз. На 25 работало как часы
|
|||
26
AeDen
20.07.11
✎
11:14
|
(25) Да ладно!
Надо будет проверить... |
|||
27
Erhov_egor
20.07.11
✎
11:23
|
через открыть форму этот параметр передается?
|
|||
28
chief accountant
20.07.11
✎
11:25
|
(26) Не всё так просто: если конфа открыта, то работает обработка, если через шедулер облом на втором доке
|
|||
29
chief accountant
20.07.11
✎
11:29
|
(27) Вот пример:
СписокПараметров=СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение("ЗачетАванса","Действие"); СписокПараметров.ДобавитьЗначение(ТабД.Учреждение,"ВыбраннаяФирма"); СписокПараметров.ДобавитьЗначение(ТабД.СчетАванса.ИсточникФинансирования,"ИсточникФинансирования"); СписокПараметров.ДобавитьЗначение(ТабД.Контрагент,"Контрагент"); СписокПараметров.ДобавитьЗначение(ТабД.Договор,"Договор"); СписокПараметров.ДобавитьЗначение(ТабД.СчетАванса.Родитель(1),"Счет"); СписокПараметров.ДобавитьЗначение(ТабД.СчетАванса,"СчетАванса"); СписокПараметров.ДобавитьЗначение(ТабД.ФКР,"КБК"); ОткрытьФормуМодально("Документ.ЗачетАвансаВыданного",СписокПараметров); |
|||
30
Erhov_egor
20.07.11
✎
11:35
|
все спасибо
|
|||
31
Erhov_egor
21.07.11
✎
06:58
|
Возник вопрос в том чтобы открыть документ нужно его записать, а если у меня нету задолженности которая проверяется в открываемом документе,то он не должен быть по сути. как обойти?
|
|||
32
VoditelKobyly
21.07.11
✎
07:11
|
(31) смотри (7). Вынеси процедуры расчета в глобальник и не дергай лишний раз формы, тем более модально. Проверил, есть долги формируй документ, нету не формируй.
|
|||
33
Erhov_egor
21.07.11
✎
07:36
|
в модуле документа можно вызвать глобалку?
|
|||
34
povar
21.07.11
✎
07:38
|
(33) вызывай
и почитай ЖКК |
|||
35
VoditelKobyly
21.07.11
✎
07:55
|
(33) Можно только помни, что модуль документа и модуль формы документа вещи разные. И это надо учитывать и не вызывать ОткрытьФормуМодально() в модуле формы и стараться не запускать процедур и функций длительное время работающих. Сам догадайся почему.
|
|||
36
VoditelKobyly
21.07.11
✎
07:58
|
(35+) Не надо вызывать в модуле документа.
Переноси такие вещи в ПриЗаписи(). |
|||
37
chief accountant
21.07.11
✎
08:02
|
(31) Во-во. Нефиг форму второго дока вообще открывать. Давно бы сделал как в (15) и не парил мозг
|
|||
38
big
21.07.11
✎
09:15
|
ЗагрузитьВнешнююКомпоненту(1cpp.dll);
Док=СоздатьОбъект("Документ.Чего-тоТам); Док.ПеременнаяИзЭтогоДока = ТутПишуЧтоМнеНадо; Док.НужнаяМнеПроцедура(); и всё работает "только в путь" |
|||
39
big
21.07.11
✎
09:15
|
(38) + ну, конечно ещё надо этот Док найти, но мне лениво писАть было
|
|||
40
Erhov_egor
22.07.11
✎
06:48
|
(38)Для чего переменную записывать?
|
|||
41
big
26.07.11
✎
19:12
|
(40) это просто для примера, что доступны не только процедуры и функции модуля формы, но и переменные
|
|||
42
smaharbA
26.07.11
✎
19:14
|
(41) переменные и так доступны, даже без контекста
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |