![]() |
|
Как запустить отладку Внешней обработки на клиент-сервере? 🠗 (Волшебник 26.03.2025 08:04) Prog_man, Волшебник, Admin_Net_1C, НоваяВолна, Trinitron, lEvGl, Скучный бух, DimR_71, VasKas41, Мультук, vbus, chelentano, Bigbro, ReaLg, SleepyHead, Stepashkin, abfm, PuhUfa, 2S, program345, Шурик71
| ☑ | ||
---|---|---|---|---|
0
program345
25.03.25
✎
09:23
|
Хай,
В самой обработке есть: // Отладка модуля обработки выполняется, при параметрах запуска конфигурации: "/C РежимОтладки". Установил точку останова, при параметрах запуска написал "/C РежимОтладки" - не работает, подключение к предмету отладки сделал. |
|||
1
Somebody
20.03.25
✎
09:02
|
Если подключена как доп. обработка, то внешний файл отлаживать не позволит. Отключить доп. обработку, сделать тестовую форму для отладки,из нее вызывать методы из модуля обработки.
|
|||
2
PLUT
20.03.25
✎
12:15
|
(0) если внешняя обормотка подключена как дополнительная по феншую БСП, переведи её в справочнике "Дополнительные отчеты и обормотки" в
предварительно в пофигураторе открыть её из того же месторасположения... |
|||
3
evorle145
20.03.25
✎
09:05
|
(0) может у вас внешняя печатная форма, а не внешняя обработка?
|
|||
4
DiMel_77
20.03.25
✎
09:12
|
(0) Параметр запуска "/C РежимОтладки" используется только для отладки фоновых заданий. Т.е. не запускается фоновое задание при формировании отчета или выполнении обработки.
|
|||
5
program345
20.03.25
✎
10:55
|
(2) да, все сделано по феншую по БСПшному. В 1с предприятие загрузил внешнюю обработку(установил режим отладки), в конфигураторе открыл её же. Поставил точку останова. Запускаю в 1с предприятие через Файл -> Открыть.... И ничего не останавливается...
|
|||
6
program345
20.03.25
✎
10:59
|
(3) нет, у меня внешняя обработка по загрузке данных в регистр сведений из эксель файла
|
|||
7
Александр111
20.03.25
✎
11:06
|
если база серверная то в службах
"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug |
|||
8
Somebody
20.03.25
✎
11:07
|
(5) см. (1)
|
|||
9
Мультук
гуру
20.03.25
✎
11:51
|
(0)
Поставить "отключена" Запускать из Файл->Открыть и отлаживать как обычную обработку. Режим отладка означает, что даже если вы откроете эту же обработку из Файл->Открыть, то 1С всё-равно запустит обработку из справочника и вы будете долго заниматься херней. |
|||
10
Мультук
гуру
20.03.25
✎
11:40
|
(0)
Используется. Обработку могут запускать все кому ни лень, у кого есть на это права Отладка. Обработку "все кому ни лень" уже не видят. Запускать могут только полные права. Удобно когда нужно потестить в боевой базе (например печатную форму), но чтобы все остальные к ней руки не тянули Отключена -- 1С перестаёт умничать при запуске этой же обработки через "Файл->Открыть" и честно всегда (не всегда, но почти, были нюансы с com, ole) открывает и запускает обработку из файла. |
|||
11
program345
20.03.25
✎
11:51
|
(7) да, серверная, вроде есть дебаг на линуксе.
|
|||
12
Bigbro
20.03.25
✎
11:58
|
Результат = ВнешниеОбработки.Создать(ИмяФайла, Режим);
|
|||
13
Gucci76
20.03.25
✎
12:33
|
(4) А что значит "/C РежимОтладки" ????
Я указываю просто "РежимОтладки" и у меня ЗУП не выполняется в фоне |
|||
14
Александр111
20.03.25
✎
12:46
|
см (7) -debug
|
|||
15
program345
20.03.25
✎
13:09
|
(10) делаю по гайду
https://infostart.ru/1c/articles/573461/ Процедура ОтлаживаемаяПроцедура(Параметр1, Параметр2 = Неопределено) Экспорт Адрес = "D:\Projects\МояОбработка.epf"; Если Адрес <> ЭтотОбъект.ИспользуемоеИмяФайла Тогда обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим()); ЗаполнитьЗначенияСвойств(обр, ЭтотОбъект); обр.ОтлаживаемаяПроцедура(Параметр1, Параметр2); Возврат; КонецЕсли; //...код... КонецПроцедуры у меня ошибка "файл не обнаружен!" база клиент-серверная...Дебаг включен. я так понимаю мне нужно на сервере свою отлаживаемую обработку выложить?
|
|||
16
Bigbro
20.03.25
✎
13:20
|
(15) это локальный путь на сервере.
лучше указывать типа \\server\my\123.epf |
|||
17
Мультук
гуру
20.03.25
✎
13:23
|
Сейчас (не сразу конечно) выясняется, что и XLS-файл находится на клиенте,
А импортируется &НаСервере |
|||
18
program345
20.03.25
✎
13:49
|
(16) проблема осложнилась тем, что нет доступа на сервер, и туда нельзя кинуть обработку...
|
|||
19
Bigbro
20.03.25
✎
13:51
|
(18) отдай ее админам чтобы выложили на сервере а тебе прислали путь.
либо выложи в любое место в сети которое с сервера доступно. первый раз что ли? ) |
|||
20
program345
20.03.25
✎
14:18
|
(19) походу да, либо админам давать файлик для выкладки на сервер, либо делать выгрузку клиент-серверной базы в файловую и отлаживать там...
|
|||
21
Мультук
гуру
20.03.25
✎
14:23
|
(20)
Я вот вроде в (9) всё понятно написал. А в (17) прямо-таки жОстко намекнул. |
|||
22
X Leshiy
20.03.25
✎
14:25
|
Что там за мега регистр и супер сложный файл, раз такое прям отлаживать надо?))
Используй Сообщить() )))))))))))))))) |
|||
23
Галахад
гуру
20.03.25
✎
14:31
|
ВнешняяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Суперобработка");
ДвоичныеДанные = ВнешняяОбработка.ХранилищеОбработки.Получить(); ИмяФайла = ПолучитьИмяВременногоФайла("epf"); ДвоичныеДанные.Записать(ИмяФайла); Обработка = ВнешниеОбработки.Создать(ИмяФайла); |
|||
24
Волшебник
20.03.25
✎
14:32
|
(22) или ЗаписьЖурналаРегистрации(...)
|
|||
25
kapust
20.03.25
✎
14:42
|
(20) Зачем так сложно то? Может просто сделать у себя на компе шару и в коде указывать сетевой путь?
|
|||
26
X Leshiy
20.03.25
✎
14:34
|
(24) Вот кстати да, забыл)
|
|||
27
TormozIT
гуру
20.03.25
✎
16:34
|
Видел такую помогалку для отладки внешних обработок БСП в ИР https://devtool1c.ucoz.ru/index/otladka_vneshnikh_obrabotok_bsp/0-50
|
|||
28
program345
25.03.25
✎
09:20
|
1. Сделали папку которую могу менять я и сервер на линуксе. У меня она выглядит как \\ServerNaLinux\1cfiles ,а сервер видит ее как /linux/1cfiles .
2. Закинул туда обработку 1.epf 3. прописал код в модуле объекта в процедуре Печать: Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ВО = ВнешниеОбработки.Создать("/linux/1cfiles/1.epf"); ВО.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); Возврат; 4. Загрузил обработку в Дополнительные обработки (Безопасный режим = ложь) 5. В своей обработке закомментил вызов обработки: ВО = ВнешниеОбработки.Создать("/linux/1cfiles/1.epf"); ВО.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); Возврат; 6. При запуске печатной формы из документа точка не срабатывает, куда копать? |
|||
29
lubitelxml
25.03.25
✎
10:41
|
Мне вот такое расширение зашло: IRONSKILLS_ОтладкаДополнительныхОбработок - не помню где брал, вроде на ИС
|
|||
30
Мультук
гуру
25.03.25
✎
14:08
|
Время шло, а в этой теме всё пытались лечить гланды через анус.
С теоретической точки зрения, занятия хорошее и вероятно денежное. (0) Показывайте уже вашу обработку. Там by default должно куча типового кода, который не может не работать И чуть-чуть вашего |
|||
31
program345
25.03.25
✎
17:34
|
(30) обработка донельзя простая:
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.версиябиблиотеки()); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка(); ПараметрыРегистрации.Версия = "1.1"; ПараметрыРегистрации.БезопасныйРежим = Ложь; НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = "ВыполнитьОбработку"; НоваяКоманда.Идентификатор = "ВыполнитьОбработку"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); НоваяКоманда.ПоказыватьОповещение = Ложь; Возврат ПараметрыРегистрации; КонецФункции Процедура ВыполнитьКоманду(п_ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт Если п_ИдентификаторКоманды = "ВыполнитьОбработку" Тогда Обновить1(ПараметрыВыполненияКоманды); КонецЕсли; КонецПроцедуры Процедура Обновить1(ПараметрыВыполненияКоманды) Экспорт ВО = ВнешниеОбработки.Создать("/linux/1cfiles/1.epf", Ложь); ВО.Обновить1(ПараметрыВыполненияКоманды); Возврат; Сообщить("тест"); КонецПроцедуры Точка останова на сообщить(). В конфигураторе открыта эта обработка по пути \\ServerNaLinux\1cfiles\1.epf со стороны сервера это путь "/linux/1cfiles/1.epf" |
|||
32
Мультук
гуру
25.03.25
✎
14:38
|
(31)
Алё, на бронепоезде. Я говорю про /linux/1cfiles/1.epf |
|||
33
program345
25.03.25
✎
14:49
|
(32) так это и есть обработка на /linux/1cfiles/1.epf
Зайти на сам линуксовый сервак и запустить там конфигуратор нет возможности. |
|||
34
Волшебник
25.03.25
✎
22:27
|
А что, в этой ветке не будет чёрных скриншотов?
|
|||
35
Шурик71
25.03.25
✎
23:17
|
Над нами издеваются?
1)Точка останова на Сообщить() после команды возврат? И не останавливается, вот странно? 2)Если в (31) указан код именно обработки 1.Epf, то он разве не должен привести к попытке циклического вызова процедуры Обновить1()? |
|||
36
Волшебник
26.03.25
✎
00:36
|
(35) да, издеваются
|
|||
37
program345
26.03.25
✎
06:49
|
(35) смотри порядок такой:
для начала посмотри видос по отладке внешек на бсп https://www.youtube.com/watch?v=XcXIoLNCwRg&pp=ygU90L7RgtC70LDQtNC60LAg0LLQvdC10YjQvdC10Lkg0L_QtdGH0LDRgtC90L7QuSDRhNC-0YDQvNGLIDHRgQ%3D%3D там он загружает в предприятие и в основной процедуре пишет код: ВО = ВнешниеОбработки.Создать("/linux/1cfiles/1.epf", Ложь); ВО.Обновить1(ПараметрыВыполненияКоманды); Возврат; потом он открывает эту обработку в конфигураторе и комментит этот код. Получается что внешка открывает обработку, которую мы указали и делает возврат, а мы отлаживаем себе спокойно в открытой обработке. Вопрос как это сделать в клиент сервере. |
|||
38
НоваяВолна
26.03.25
✎
07:25
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |