Имя: Пароль:
1C
1C 7.7
v7: Форма.Параметр через ОЛЕ
0 burrya
 
09.07.13
13:58
onesobj := createoleobject('V77.Application');
 onesobj.initialize(onesobj.rmtrade, '/D\\1c\1T /NFJT /P12345', '');//NO_SPLASH_SHOW
 openedFRV := onesobj.OpenForm('Обработка', 'SS040001228522', '\\1c\1CBases\PT\ExtForms\ФРВ.ert');

Обработка открывается, но параметр не передается почему-то.
1 Ёпрст
 
09.07.13
13:59
Как узнал ?
2 1Сергей
 
09.07.13
13:59
Что в Форма.Параметр?
3 burrya
 
09.07.13
14:05
Процедура ПриОткрытии()
   Текст = СоздатьОбъект("Текст");
   Текст.ДобавитьСтроку(Форма.Параметр);
   Текст.Записать("C:\12345.txt");
КонецПроцедуры

это в обработке, которая открывается

файл создается, но пустой
4 Serginio1
 
09.07.13
14:07
Открой модально
5 1Сергей
 
09.07.13
14:07
Процедура ПриОткрытии()
   Текст = СоздатьОбъект("Текст");
   Текст.ДобавитьСтроку(ТипЗначенияСтр(Форма.Параметр) + " " + Форма.Параметр);
   Текст.Записать("C:\12345.txt");
КонецПроцедуры
6 Ёпрст
 
09.07.13
14:11
(4) зачем ?
7 Serginio1
 
09.07.13
14:11
openedFRV := onesobj.ОткрытьФормуМодально('Отчет', 'SS040001228522', '\\1c\1CBases\PT\ExtForms\ФРВ.ert');
8 Serginio1
 
09.07.13
14:12
9 burrya
 
09.07.13
14:12
Текст.ДобавитьСтроку(ТипЗначенияСтр(Форма.Параметр) + "_" + Форма.Параметр);

Только 1 символ "_"
10 1Сергей
 
09.07.13
14:14
(9) это дельфи?
11 Serginio1
 
09.07.13
14:15
(10) Ну по := можно догадаться
12 burrya
 
09.07.13
14:15
(10)(11) да
13 Serginio1
 
09.07.13
14:16
(12) ты 7 пробовал?
14 burrya
 
09.07.13
14:18
openedFRV := onesobj.OpenFormModal('Отчет', 'SS040001228522', '\\1c\1T\ExtForms\ФРВ.ert');

тот же результат
15 Ёпрст
 
09.07.13
14:19
А обязательно в дельфях делать ?
в vbs не катит ?
Там усё передается
16 Ёпрст
 
09.07.13
14:19
и, так работает ?
openedFRV := onesobj.OpenForm('Отчет', 123, '\\1c\1T\ExtForms\ФРВ.ert');
17 burrya
 
09.07.13
14:20
та может и не обязательно, если дело в делфях
18 Serginio1
 
09.07.13
14:21
Можешь прописать в глобальном модуле
функцию
Функция ОткрытьВнешнююФорму(ПутьКВнешнемуОтчету,Параметры) Экспорт
ОткрытьФормуМодально("Отчет",Параметры,ПутьКВнешнемуОтчету);
возврат Параметры

КонецФункции
19 Serginio1
 
09.07.13
14:23
Ты в имя файла времени пропиши, что бы одинаковым не был
20 Ёпрст
 
09.07.13
14:27
сдается, что не тот ты файл открываешь по оле.
21 Ёпрст
 
09.07.13
14:29
Напиши так,
Процедура ПриОткрытии()
   Предупреждение(Форма.Параметр);
КонецПроцедуры

Открой сеанс, запущеный по оле и посмотри глазёнками, чего там..
сенас откроешь через шоу1с.экзе
22 Serginio1
 
09.07.13
14:56
На дельфях и в 1С все параметры передаются по ссылке

можешь попробовать
var парам:Olevariant;
парам:='SS040001228522';
openedFRV := onesobj.OpenFormModal('Отчет',парам ,'\\1c\1T\ExtForms\ФРВ.ert');

тогда параметр парам передастся по ссылке.

Процедура ПриОткрытии()
   Текст = СоздатьОбъект("Текст");
   Текст.ДобавитьСтроку(ТипЗначенияСтр(Форма.Параметр) + " " + Форма.Параметр);
   Текст.Записать("C:\12345.txt");
Форма.Параметр="Ответ из 1с";
КонецПроцедуры
23 ЧеловекДуши
 
09.07.13
15:16
(0) А закрывать обработку кто будет?
Так то при открытой обработки отрабатывает уже процедура "ПриПовторномОткрытии" :)

Добавь туда код "СтатусВозврата(0)"
24 ЧеловекДуши
 
09.07.13
15:16
+ в Процедуру "ПриОткрытии"
25 dk
 
09.07.13
15:34
про отладчик уже было?
26 KishMish
 
09.07.13
15:40
можно записать значение в файл. и втой обработке его вытащить.