Имя: Пароль:
1C
1С v8
Отладчик
,
0 tolok_d
 
09.01.13
14:53
Здравствуйте, подскажите как дальше
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Обработка = ВнешниеОбработки.Создать(ИмяФайлаОбработки);
   Обработка.СсылкаНаОбъект = ЭтотОбъект.Документ;
   //что здесь писать
КонецПроцедуры

Вот не пойму как дальше написать чтобы открылась уже отлаживаемая обработка.
1 tolok_d
 
09.01.13
14:55
До этого все работает, вообще проблем не вижу, а вот здесь застрял((
2 le_
 
09.01.13
14:56
.ПолучитьФорму().Открыть();
3 tolok_d
 
09.01.13
14:58
(2) там формы нету.
4 Alexaha
 
09.01.13
15:00
(3) а что ты тогда хочешь чтобы у тебя открылось?
5 tolok_d
 
09.01.13
15:01
Чтобы выполнилась обработка.
6 tolok_d
 
09.01.13
15:02
и я смог по ней отладчиком пробежать, а то без него неудобно(
7 le_
 
09.01.13
15:02
(5) Ну, вызывай тогда процедуру выполнения.
Обработка.ВыполнитьБлаБлаБла();
8 pessok
 
09.01.13
15:04
экспортную процедуру Выполнить() а там уже точку останова
9 tolok_d
 
09.01.13
15:07
(7) не, чтото не работает, ладно, сделаю по другому. Спасибо
10 tolok_d
 
09.01.13
15:08
(8) тоесть экспортную?
11 tolok_d
 
09.01.13
15:09
{Форма.Форма.Форма(8)}: Метод объекта не обнаружен (Выполнить)
   Обработка.Выполнить();
12 tolok_d
 
09.01.13
15:09
что за Форма.Форма.Форма(8) откуда это берется?
13 pessok
 
09.01.13
15:10
Выполнить() Экспорт
в модуле объекта
14 pessok
 
09.01.13
15:11
форма.форма.форма - это то место, откуда ты ее вызываешь, как бы ни двусмысленно это не звучало :)
15 Starhan
 
09.01.13
15:12
Название темы не соответствует теме.
16 tolok_d
 
09.01.13
15:13
(15) прошу прощения
17 tolok_d
 
09.01.13
15:20
не, что-то не то(
18 Alexaha
 
09.01.13
15:21
(17) а что не то? что ты делаешь?
то что в (13) советовали сделал?
19 pessok
 
09.01.13
15:25
(0) братюнь, давай код обработки, щас быстро тебе ткнем пальцем что куда перенести и где поставить экспортный вызов
20 tolok_d
 
09.01.13
15:28
да, все, сделал по другому(в самой тестируемой обработке добавил форму и вызываю ее)
21 tolok_d
 
09.01.13
15:29
хотя всетаки интересно что же там не так, даю код
22 tolok_d
 
09.01.13
15:31
в модуле формы:
Перем ИмяФайлаОбработки Экспорт;  

Процедура КнопкаВыполнитьНажатие(Кнопка)
   Обработка = ВнешниеОбработки.Создать(ИмяФайлаОбработки);
   //Обработка.пОбъект = ЭтотОбъект.Документ;
   Обработка.СсылкаНаОбъект = ЭтотОбъект.Документ;
   //Обработка.Инициализировать(Обработка);
   Обработка.Инициализировать(ЭтотОбъект);
КонецПроцедуры

Процедура ПутьКОбработкеНачалоВыбора(Элемент, СтандартнаяОбработка)
   ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   ВыборФайла.Расширение = "epf";
   ВыборФайла.Фильтр = "Внешние обработки (*.epf)|*.epf";
   Если Не ВыборФайла.Выбрать() Тогда
       Возврат;        
   КонецЕсли;
   ЭтотОбъект.ПутьКОбработке = ВыборФайла.ПолноеИмяФайла;
   ИмяФайлаОбработки = ВыборФайла.ПолноеИмяФайла;
КонецПроцедуры

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

//Перем пОбъект Экспорт;
//Перем пИмяТабличнойЧасти Экспорт;
//Перем пТабличноеПолеОбъекта Экспорт;

Процедура Инициализировать(Объект) Экспорт
   Объект = ... не придумал    
КонецПроцедуры
23 tolok_d
 
09.01.13
15:31
или лучьше саму обработку скинуть?
24 tolok_d
 
09.01.13
15:31
*лучше
25 pessok
 
09.01.13
15:34
чтобы понять рекурсию, надо понять рекурсию...
что ты хотел на выходе заиметь? передавать в обработку объект, из которой она вызывается, а потом выполнять с ним какие-то действия посредствам обработки?
26 tolok_d
 
09.01.13
15:34
На коментраии не обращайте внимание, то я с примера делал, не поудалял
27 tolok_d
 
09.01.13
15:36
(25) у меня есть обработка, которая в фоновом режиме заполняет екселевский файл. Вот ее то и надо протестировать. Я хотел сделать такую обработку, в форме кторой можно ввести документ, с какого это все формируется и путь к самой обработке, нажать ок, и отладчиком смотреть уже.
28 Alexaha
 
09.01.13
15:40
(27) а почему нельзя было сделать эту обработку, открыть ее интерактивно, выбрать в ней документ, запустить на выполнение и смотреть отладчиком?
к чему все эти извраты?
29 tolok_d
 
09.01.13
15:43
(28) ну хотелось сделать такую обработку, чтоб на ней еще и другие потестировать
30 tolok_d
 
09.01.13
15:43
(28) или я не так понял вопрос?
31 Alexaha
 
09.01.13
15:59
(30) ты правильно понял, только, имхо, нет смысла в такой униыверсальной обработке
32 tolok_d
 
09.01.13
16:00
(31) понял) спасибо)
Ошибка? Это не ошибка, это системная функция.