Имя: Пароль:
1C
1С v8
как отладить обработку из хранилища?
,
0 datog
 
22.09.17
12:21
внешняя обработка в справочнике дополнительных обработок.
возможно ее открыть в отладчике и отладить ?
1 Бычье сердце
 
22.09.17
12:23
Возможно)))
2 datog
 
22.09.17
12:24
(1) а как это сделать?
3 Бычье сердце
 
22.09.17
12:25
(2)
Надо отловить момент, когда программа выгружает обработку во временный каталог. И перед ее использованием из временного каталога, открыть ее в конфигураторе.
4 datog
 
22.09.17
12:34
(3)я получаю ссылку типа C:\Users\USR1CV8\AppData\Local\Temp\v8_3F99_2017.epf
но она из конфигуратора не открывается и не видится
5 FIXXXL
 
22.09.17
12:37
(0) выгрузить в файл и отладить?
6 SleepyHead
 
гуру
22.09.17
12:37
Выгрузи обработку в нужный тебе каталог, открой и проэмулируй вызов из другой обработки с такими же параметрами.
7 datog
 
22.09.17
12:39
(6) конфа типовая,ничего менять и добавлять нельзя.
обработка запускается из документа
8 FIXXXL
 
22.09.17
12:39
ну или как финт ушами:
в коде пишешь
попытка
1
исключение
конецпопытки

ставишь "Останавливаться по ошибке" в конфигураторе

по идее должен словить и открыть :)
9 Good_Smile
 
22.09.17
12:40
возможно не нужно её открывать, а нужно просто отладить, тогда можно посмотреть в общем модуле ДополнительныеОтчетыИОбработки (процедуру видимо нужно от верссии БСП смотреть) когда происходит выполнение твоей внешней обработки
либо как в (5) - это самое простое
10 SleepyHead
 
гуру
22.09.17
12:40
(7) А кто предлагал что-то менять и добавлять?
11 Cyberhawk
 
22.09.17
12:42
(3) "отловить момент, когда программа выгружает обработку во временный каталог" // Такое уже пару лет в конфигурациях на БСП не происходит - обработка создается сразу в оперативной памяти.
Для таких случаев рекомендую ИР.
12 datog
 
22.09.17
12:44
(9) обработка в конфигураторе .закрытая. документ обращается к ней за расчетом. нужно подменить эту обработку на внешнюю, которая хранится в хранилище.
13 ildary
 
22.09.17
12:51
(0) есть два способа:

1.Переписать обработку так, чтобы она могла запускать проверяемый функционал, будучи открытой через файл открыть.

2. На копии включить изменения в конфигурации и поменять несколько строк:

Общий модуль ДополнительныеОтчетыИОбработки включите режим “Объект поставщика редактируется с сохранением поддержки”

Вносим следующие изменения в модуль:

ДополнительныеОтчетыИОбработки

Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт

// ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);
ИмяОбработки = Менеджер.Создать("c:\МояОбработка.epf", Ложь);
ИмяОбработки = "ИмяМоейОбработки"; // ИМЯ(!) Внешней обработки, которую Вы отлаживаете, как оно задано в конфигураторе

Процедура ПриПолученииРегистрационныхДанных(Объект, РегистрационныеДанные, ПараметрыРегистрации, РезультатРегистрации)

// ВнешнийОбъект = Менеджер.Создать(РезультатРегистрации.ИмяОбъекта);
ВнешнийОбъект = Менеджер.Создать("c:\ИмяФайла.epf", Ложь);
14 Good_Smile
 
22.09.17
12:52
(12) без изменения конфы?
15 ildary
 
22.09.17
12:54
+(13) второй метод относится к конфигурациям на БСП (сам пользовался, пока не перешел на первый).
16 datog
 
22.09.17
12:55
(5)"ставишь "Останавливаться по ошибке" в конфигураторе "
а дальше как?
17 datog
 
22.09.17
12:55
(14) без
18 catena
 
22.09.17
12:59
(16)Запускаешь отладку, она тебе сама на попытке остановится
19 catena
 
22.09.17
12:59
на исключении, в смысле
20 datog
 
22.09.17
13:12
(18)нет. не взлетает такое. отладчик просто не открывает текст этой обработки из хранилища
21 Good_Smile
 
22.09.17
13:12
видимо человек не понимает, сохраняешь внешнюю обработку в каталог, добавляешь в любом месте попытку
эту обработку подключаешь в базу и выполняешь её
остановка по ошибке тебе остановит на исключении

но не нужно же это делать всё равно
как я поняла есть обработка в конфе, которая делает расчет в документе, нужно этот расчет изменить без изменения конфы
сделали внешнюю обработку заполнения тч?
и расчет стандартной обработкой когда происходит в момент проведения документа или по кнопке?
22 Wirtuozzz
 
22.09.17
13:15
(0) Что ты отлаживать собрался? Сделай простейшую свою обработку, и вызови с формы своей обработки что тебе надобно )))
23 datog
 
22.09.17
13:16
(21)"видимо человек не понимает, сохраняешь внешнюю обработку в каталог, добавляешь в любом месте попытку
эту обработку подключаешь в базу и выполняешь её
остановка по ошибке тебе остановит на исключении "

что имеете в виду под "подключать"?

по кнопке
24 Good_Smile
 
22.09.17
13:21
(23) подключить - это зайти в справочник Дополнительные обработки и создать новую или заменить файл внешней обработки в существующей

если по кнопке, тогда можно эту кнопку не нажимать, а нажать кнопку, которая заполняет документ внешней обработкой
25 Good_Smile
 
22.09.17
13:24
(23) внешняя обработка - это обработка заполнения табличных частей?
или делается расчет реквизита документа?
26 datog
 
22.09.17
13:27
(25)внешняя обработка делает расчет реквизитов документов
27 datog
 
22.09.17
13:29
(21) этот метод не работает .
1.сохранил обработку в каталог.
2.вставил туда попытку исключение
3. в отладчике включил остановку по ошибке.
4. загрузил обработку обратно в дополнительные отчеты и обработки
на попытке не останавливается
28 Good_Smile
 
22.09.17
13:30
а у внешней обработки есть форма
29 catena
 
22.09.17
13:31
(27)Этот метод работает, просто вы не умеете его готовить. Подозреваю, что требуемый код выполняется на сервере и отладка не включена.
30 datog
 
22.09.17
13:32
(29) я думаю это из за того что запуск идет в тонком клиенте.
в толстом клиенте программа не работает
31 Tateossian
 
22.09.17
13:33
(21) Зачем ты усложняешь с "ПоптыкамИ"? делай проще - втыкай "ВызватьИсключение"
32 Good_Smile
 
22.09.17
13:42
ладно, если ты хочешь отладить внешнюю обработку, тогда нужно сохранить её в каталог, добавить реквизит СсылкаНаОбъект с типом: документ, который необходимо изменить
добавить форму, вынести реквизит на форму и добавить команду, при нажатии которой будет вызываться расчет документа, который указан в реквизите СсылкаНаОбъект

но обработка не будет доступна как кнопка в документе, если это не обработка заполнения документа (по-моему для этого необходимо в сведениях указать ЗаполнениеОбъекта)
33 datog
 
22.09.17
13:44
(31) это тоже не срабатывает.
думаю это из за тонкого клиента
34 TormozIT
 
гуру
23.09.17
22:31
В базе на платформе 8.3.10.2375+ и режимом совместимости 8.3.9+ можно юзать инструмент "Отладка внешних обработок БСП" http://devtool1c.ucoz.ru/index/otladka_vneshnikh_obrabotok_bsp/0-50 из расширения "Инструменты разработчика" http://devtool1c.ucoz.ru/index/rasshirenie_variant/0-52
Он позволяет включать режим создания внешних обработок через файлы в указанном каталоге и таким образом удобно отлаживать их код.