Отладка дополнительных обработок 1С (БСП)
HTML-код
- Опубликовано: 18 янв 2024
- 🔴В этом видео мы покажем как можно выполнять отладку дополнительных отчетов и обработок 1С в типовых конфигурациях, разработанных на основе БСП.
💥 Записаться на курс "Программист 1С: с нуля до профи": ironskills.by/kursi/programmi...
Доработка типовых конфигураций 1С. Дополнительные отчеты и обработки:
• Доработка типовых конф...
⚙️Расширение "Отладка дополнительных обработок":
ironskills.by/tpost/vr9ypy76d...
Поддержать канал:
donate.stream/ya410011655962993
✅Подписывайтесь на наш канал чтобы первыми получать новые видео.
#1с #ironskills #1с_бсп
---
С уважением, команда IRONSKILLS
Проще внешнюю обработку доработать. Добавить в обработку форму. Из формы вызывать процедуру "Печать". И уже отлаживать эту обработку. Очень часто бывает, что нет доступа к серверу
Согласен. Еще как вариант делать печать в расширении.
Да.всегда так делаю. Самый простой вариант.
У мелких клиентов базовые версии, они не поддерживают расширения 😢
Только отлаживать при этом Вы будете вызов не от точки входа пользователя, а от своей отладочной формы. И те параметры которые передает БСП в метод печать понадобится эмулировать самостоятельно. Кроме того, понадобится двойная проверка - сначала через свойскую форму отладки, потом от пользователя.
Если это все обдумать - становится очевидно что проще как раз подменить алгоритм, и пользоваться тем же интерактивом, которым пользуется пользователь. Риск ошибится при этом снижается существенно.
Абсолютно согласен. Всегда так делаю. Даже мысли не было ТАК заебаться как в ролике...
У нас почти во всех внешних обработках есть дополнительная форма для отладки обработки. Если этой формы нет, я ее просто добавляю и обработка прекрасно отлаживается. Ивану и его команде благодарность за новые знания!!!
Для базовых коныигураций и тех, кому не хочется заливать расширение в свои базы для отладки есть способ немного проще, выгрузить обработку из базы, вставить в начало интересующего нас метода попытка исключение, которое заведомо будет выдавать исключение, к примеру, деление на 0, включить в отладке флаг останавливаться при ошибке, и загрузить эту изменённую версию обратно в доп обработки, тогда при выполнении кода с исключением нас закинет автоматически в код обработки, где мы можем спокойно при помощи f11 отлаживать наш код
Всегда удивляюсь сколько замечательных способов существует в 1С вот поэтому это система лучше microsoft аналога и даже лучше SAP)))
А в SAP всегда существует 1способ и он сложный конечно система работает как mersedes, а 1С работает как AURUS)))
Как всегда без лишней воды и все по делу. Спасибо за ваш труд!
чуть чуть бы помедленее.
@@Dmitry-mo1pt есть регулировка скорости.
Отлично, инфа схватывается на лету
Чувствуется почерк коллег ;)
Чуууувааак, круто. Воспользовался, все работает отлично
Спасибо за обратную связь :)
Как доступно и коротко. Спасибо опробируем
Пока не было такой потребности, но буду знать 👌 спасибо!
Спасибо ОГРОМНОЕ! Потратил часов 10 как сделать хорошую, универсальную отладку любой внешней печатной формы без доработки конфигурации, но до вашего решения так и не догадался :((
P.S. Если у кого-то не срабатывает отладка внешней печатной формы с этим расширением, проверьте что стоит галка "автоматически подключатся к фоновым заданиям" в настройках конфигуратора.
Спасибо за комментарий) Кстати, можно не ставить флаг "автоматически подключатся к фоновым заданиям", а вместо этого использовать параметр запуска "РежимОтладки", тогда формирование отчетов, печатных форм и многие другие действия будут выполняться не в фоне)
прекрасный ролик , великолепный квант знаний в копилку знаний начинающих и практикующих :).
Как вовремя, весь день бился с этой задачей))
Отличная обработка, спасибо большое
Спасибо огромное! Отличное видео! Пожалуй, одно из самых полезных и самых доступных про отладку дополнительных обработок
Офигенно ! Спасибо))
Отличное решение. Ждем еще роликов, очень полезные!)
Все круто! спасибо!
я бы еще добавил метод без расширения.
Код добавляем в процедуру "Печать"
ВО = ВнешниеОбработки.Создать("D:\СчетФактура.CчетФактураВнешний_от_1.6.25.epf", Ложь);
ВО.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыПечати);
Возврат;
Загружаем в конфигурацию обработку. И в обработке для отладки убираем до этого добавленный код.
Это по идее, только для файловой базы прокатит
@@varmvarm1110 главное чтобы на сервере папку видно было
Иван, спасибо!
Молодцы!!!
Не успел еще посмотреть, но сразу лайк)
ОООО Это супер, только вчера об этом задумался, и тут бац видео, огромное спасибо к своим инструментам прикручу.!
Спасибо !
🔥
подписан. Лайк! Осталось коммент написать)
Спасибо Иван! Отличная обработка!
Здорово! А я добавлял внешний отчет в расширение, делал форму с одной кнопкой, по которой отрывалась печатная форма, но так проще, спасибо!
Пытаюсь вспомнить. Где (кроме 1с ) я ещё так заморачивался с отладкой и документацией? ))). Иван. Четко, без воды и по делу. Респект! ))) Ты молодец что расшифровываешь знания начинающим. А то у меня давно возникает ощущение что творцы техдоки 1с где-то в совсем в НИИ. Пытаются замудрить и перемудрить друг друга. И надо сказать им это удается. Мозг сломал пока БСП читал ))) Спасибо за перевод брат ))) Все просто и доступно. Респект и лайк!
Иван, здравствуйте.
Ваше решение прикольное, понравилось.
Но. Тут есть проще решение - доработать саму печатку - на форме кнопку вызова процедуры печати + включение отладки через подключение-отладка + открыть печатную в клиентском приложении.
И еще. Отладка серверного кода должна быть включена (debug). Без этого не получится. И, как мы все знаем, если включить на рабочем сервере, где расположены не копии баз (как должно быть в идеальной системе ведения баз), то отладка серверного кода приведет к максимальному торможению работы основных баз = недовольство пользователей.
Но все равно лайк и спасибо за вашу работу!
Спасибо за видосик. Как-то очень нужно было немного переселить обработку с инфостарта, но что-то там не работало, пришлось отлаживать на копии конфигурации, где обработка сделалась встроенной.
Наверняка пригодится
Обязательно добавлю себе в копию базы)
классно
Ваня, спасибо за интересный метод да ещё и с готовым техническим решением, которое можно использовать. Многие в комментариях пишут, что нафиг так замарачиваться, сделал форму с кнопочкой и вызвал печать. Ну... Смотря какие цели преследуются, если тупо вызвать печать и кинуть туда выбранный документ из формы, то окей, но если хочется полностью смоделировать БСП вызов? Там уже придётся повозиться с эмуляцией остальных параметров, а это уже не так легко и просто, поэтому метод классный, кому-то сэкономит время, спасибо!)
Иван, спасибо большое за Ваш труд! Продолжайте обязательно, не останавливайтесь!
Держите лайкос. Хотя я делаю отладку через ИР разработчика, но ваша идея мне тоже понравилась.
Ставлю лайк перед просмотром ) Иван, спасибо за ролики!
Замечательное решение. Спасибо за работу и ролик!
Замечательное поучителтнте видео, Иван. Но о работе с внешними компонентами хотелось бы мастер-класс. 😊
Спасибо, Иван! Всегда интересно что-то новое узнать👍🏻
Спасибо большое! Очень актуально. Можно обойтись и без создания формы, и вообще более грамотный и удобный вариант. Жду начало курса 4 марта. Иван, с началом курса всё по плану у вас?
Главное продолжайте ваше дело и не бросайте, вы вносите большой вклад
Особенно в меня ))
Очень полезная информация!!!
Спасибо!
Добрый день! Спасибо за видео. Прошу Вас рассмотреть тему для видео: общие модули (настройки общих модулей), зачем нужны переопределяемые модули и модули повторного использования.
Спасибо!)
Klass
+ 100 500 Спасибо большое!
Здравствуйте. спасибо за ролик. Для базовой версии ведь нельзя расширения свои подключать? Есть варианты обхода?
Нельзя. Обходы только нелегальные со всеми вытекающими опасностями получить блок на базу.
За видос и обработку спс! Вчера только внешку переписывал... ой как отладки не хватало... Работаешь по рдп на одном серваке, базы крутятся на другом, всё выполняется фоновыми... мрак. Пришлось делать форму и уже через неё отлаживаться - Файл, открыть))))
💥👍❤
Хорошо что выложил на гугл диск. С предыдущих видео я не смог скачать ни "инструменты разработчика" ни "шаблоны отчетов и обработок". Доступ на яндекс диск у меня закрыт.
Новичкам будет полезно, в свое время помню 5 строчек кода нужно было делать в ВПФ чтобы в отладку попасть или 6...Но тут хоть объясняете что куда, кароче новичкам видео должно зайти)
Скоро всех "настигнет" сервер 1С на linux, и если при этом само рабочее место остается на винде - то все это работать не будет, т.к. нужен общий каталог между сервером 1С и рабочим местом. Путь по которому открывается обработка в конфигураторе должен быть идентичен пути, по которому она создается на сервере. Виндовый путь не равен пути линуксовому -> отладка не пашет. Решение этого момента есть, хоть и крайне неудобное - существует багофича платформы, позволяющая подцепить отладочный контекст при запуске в толстом клиенте. Берем внешний алгоритм, открываем его в режиме предприятия, закрываем, вызываем исполнение, с удивлением видим что точка останова работает - хотя обработка в конфигураторе открыта по пути недоступном на сервере. Любая правка внешней обработки отладку убьет, и ее надо будет сначала зарегистрировать в справочнике доп. обработок, перезапустить 1С в толстом клиенте, повторить воспроизведение.
Вроде как функционал БСП поддерживает отладку обработки, на курсе от учебного центра 3 делали это, но было правда в 2019 году, может убрали. Я уже привык при печати добавлять форму на обработку.
А если найти место в коде на 3:00, поставить точку останова и провалиться по F11, отладка не перейдет в модуль внешней обработки?
Все это конечно хорошо, но можно и проще сделать. Привожу цитату, т.к. это не моя(работает) - "Отладить как клиентские так и серверные вызовы, достаточно перед самым запуском подключаемой команды открыть вашу обработку через "Файл->Открыть", потом закрыть и запустить команду. Всё выполнение будет передано этой обработке из файла (имя обработки, естественно, должно совпадать с именем объекта из справочника ДополнительныеОтчетыИОбработки)" и добавлю делать нужно с сервера, дорабатывать для этого конфу и делать расширения не нужно.
Рабочая схема!
Все это прекрасно, конечно. Но чем дальше в лес, тем все больше и больше костылей приходится выдумывать. Спасибо 1С.
А можете еще добавить ссылку на ПФ, которая в видео используется? Например, в телеграмм или здесь
Интересный вариант, но через чур много всего потыкать надо. Добавить в обработку форму с реквизитом документ и кнопку, вызываем процедуру Печать и отлаживаем
Спасибо. Здорово. Но мне, увы, нужна эта процедура для EDT. А там работаешь с проектом Внешних отчетов и обработок.
Проще для обработки добавить форму и из нее вызывать экспортную процедуру "Печать" модуля объекта. Тогда и расширение не нужно🙂
Ну ооооооочнь сложно... Заморочились)) А что прикажете делать в базовых версиях конфигураций??? Решение сложное и не универсальное.
А если сервер на linux, как можно доработать данное расширение, чтобы отладка работала?
Интересная вещь. Решил попробовать на УНФ, но что-то не заработало. Делал все по инструкции на сайте.
Вроде в бухгалтерии (наверно во всех стандартных) при подключении внешних обработок уже есть режим "отладки" там так же просто указываешь внешнюю обработку.
есть, только он походу не работает.
Его вставили, только что бы он не отображался НЕ администраторам
Все хорошо и правильно. Но доступ к файловой системе сервера это совсем не всегда бывает. Все таки прилепить форму и из нее вызывать печать мне кажется проще.
Да, согласен, когда доступа к файловой системе сервера нет, надо пробовать другие варианты)
есть способ проще, сохранить обработку в файл, открыть ее через файл=>открыть и в предприятии и в конфигураторе, и выполнить соответствующие команды(касаемо внешних печатных форм - там всегда есть реквизит с типом данных ДокументСсылка.... или СправчникСсылка смотря для чего она была написана, также там есть команда печати, действие которой, начинается в модуле формы обработки, а само формирование табличного документа происходит в модуле объекта обработки, если, конечно, обработка была написана под БСП) и отладка также будет работать, главное не забыть в параметрах запуска 1с предприятия из-под конфигуратора не забыть прописать РежимОтладки, потому что табличный документ будет формироваться в фоне
Спасибо за контент. Решение одновременно интересное и не нужное. Разработчик № 2, который будет изменять/дорабатывать такую ВПФ, всё равно создаст форму на обработке и выведет туда команду для отладки. Во-первых, он не знает про это расширение, а во-вторых, зачем придумывать придуманное.
Добрый день! Сделала по инструкции, но увы на точке не останавливается. Включаю отладку, сохраняю даже под новым именем, открываю тот самый сохраненный - но увы. Проверила настройки отладки, диапазон портов. Файловая база демо БСП. Идей более нет что идет не так
В последних версиях некоторых типовых печатные формы формируются в фоновом режиме. Поэтому чтобы заработала отладка есть 2 варианта:
- в меню Отлкада - Подключение включить автоматическое подключение предметов отладки "Фоновое задание" (кнопка Автоматическое подключение)
- запускать пользовательский сеанс с параметром РежимОтладки, тогда отчеты и печатные формы будут формироваться не в фоне, что проще для отладки)
Удобство в том, что не надо в дополнительную обработку вставлять форму для отладки. Ролик вполне доступен для понимания. Спасибо
Нет блядь, лучше засрать расширениями чем добавить форму диалога. Вот так и превращаются конфигурации в помойные ведра.
Почему вы используете «Вместо», а не «ИзменениеИКонтроль»?
так а ссылка на расширение где ?
Уже фиг с какого времени в БСП дополнительные обработки , есть у обработок флаг "режим отладки". Но он только влияет на отображение пользователя. Заложили на будущее, но будущее не наступило .
Вопрос к БСП - почему у них в режиме отладки не появляется путь к сетевой папке (чтобы и сервер видел и разработчик, которого на сервер фиг когда пустят) и не происходит подмена? 21-й век. И да - подменить у себя в коде загрузку из файла будет проще (иногда вешние обработки используют внешние обработки и тут замена как в ролике сработает с небольшим нюансом)
Ссылка на сайте не рабочая. Скачать где можно?
Попробуйте по этой ссылке перейти на страницу статьи в нашем блоге, там есть ссылка на расширение: ironskills.by/tpost/vr9ypy76d1-otladka-dopolnitelnih-obrabotok-1s
+
Возникла проблема. Сохраняю файл отладки "1". Вношу изменения в обработку ВПФ. Выключаю отладку. Загружаю обработку с изменениями ВПФ. Включаю отладку перезаписываю в файл "1". Отладка бежит по старому файлу без изменений. Приходится создавать новый файл отладки2,3,4 ... 200 с каждой новой доработкой. Второе с чем столкнулся забивается память на сервере.
Спасибо за обратную связь, поработаем над улучшением инструмента)
// Добавляем комментарии в массив,
// не стесняемся :)
МК = Новый Массив;
МК.Добавить("Первый комментарий в поддержку видео!");
плохое название переменной МК, не надо так делать
@@user-tw9bi8mg1s если бы с телефона не набирал, то не делал бы так ;)
3:20 - "немножко доработать конфигурацию" 🤣🤣🤣 какие костыли хосспаде, не ожидал от Ивана. По вредности советов этот выпуск в топе
Зачем Вы, столь опытный профессионал, который может лучше, смОтрите учебные видео для джунов? Лучше снимайте свои ролики для сеньоров.
@@user-ur4ik5dj7x предостерегать джунов от ошибок, ваш кэп
А досмотреть до момента "...с помощью расширения" скилла не хватило?
@@igor.volkov уважаемый -кривозубый крестьянин- джун, ролике где то говорится что снимают с поддержки конфу? В целом подход через доработку конфы любыми способами - не грамотный и не популярный мягко говоря. Это как лечить зубы через задний проход.
@@user-ur4ik5dj7xЧтоб джунов предупреждать, что в ролике ерунда полная. Я его поддерживаю. Но фраза "доработать" тут не причем. просто есть более легкие нормальные способы отладки
Всем кому надоело постоянно перезапускать предприятие во время отладки кода:
Используйте Внешние команды для 1С
Я думал что то интересное скажут. Кто сейчас на севере работает? 😂 сервер в 99% на Linux отдельно в нормальных компаниях. Задумайтесь об этом. Даже инструменты разработчика с ошибкой написаны когда дело касается сервера на linuxe. Недавно консоль запросов дорабатывал чтобы план запроса posgresql смотреть через консоль запросов сразу.
Спасибо за комментарий) Да, на linux всё не так просто, согласен)
Информация интересная, но (мне кажется), ничего не заменит приделывание кнопки печати на форме обработки, и последующее ее открытие черезе Ctrl+O 🤭