Изменение данных среды выполнения «на лету» в процессе отладки с помощью внешней обработки

Публикация № 258910

Разработка - Инструментарий разработчика

9
Иногда бывают такие моменты, что при остановке во время отладки необходимо «на лету» поменять какое-то значение реквизита или переменной. Или даже выполнить какой-то совершенно посторонний кусок кода в то время пока программа стоит на точке.

Осуществить это желание довольно просто.

Достаточно создать внешнюю обработку(можно даже без формы) и в модуле объекта прописать вот такую экспортную(это обязательно!) функцию:


Функция ИсполнитьКод(ТекстКода, Параметр="",Ответ="ОК") Экспорт
    Попытка
        Выполнить(ТекстКода);
    Исключение
        Ответ= «!!!Ошибка выполнения внешнего кода!!!...»+ОписаниеОшибки();
    КонецПопытки;
    Возврат Ответ;
КонецФункции 


По принимаемым параметрам:

 

  1. ТекстКода. – тут все понятно. Это произвольный текст на встроенном языке, желательно без синтаксических и логических ошибок : - ).В случае ошибки получите в возврате текст  ««!!!Ошибка выполнения внешнего кода!!!...»» и т.д.
  1. Параметр. – сюда можете передавать всякие всякости, доступные в текущем контексте, над которыми нужно поиздеваться и менять их значения пока стоит точка останова.
  2. Ответ. – По умолчанию равен «ОК» и если все прошло штатно и ничего не надо было возвращать для «посмотреть»  в табло, то «ОК» и  вернется при вызове. В случае ошибки - см. выше.

Теперь собственно сам главный финт ушами – как этим безобразием пользоваться.

 

Создадим внешнюю обработку с вышеуказанной процедурой и сохраним ее скажем вот так:

«E:\execute.epf»

Когда сработала точка останова, в табло пишем вызов с произвольной строкой кода.

Допустим вот такое традиционное:

 

ВнешниеОбработки.Создать("E:\execute.epf").Исполнить("Ответ=""Hello, world!""")


Имеем вот такой результат:

Т.е. функция, выполняя ваш посланный код, присвоила переменной Ответ строку «Hello, world!» и отправила вам же обратно в возврате. На этом примере понятен принцип: если хотим увидеть какой-то результат в табло при вызове функции, то надо в передаваемом коде присвоить переменной Ответ его значение. Оно вернется как результат выполнения функции и отобразится в табло. Если ничего не будем присваивать переменной Ответ, то при успешном выполнении вернется «ОК»

 Поле применения этого метода довольно широкое.

Допустим вас не устраивает текущее значение реквизита документа, которое приводит в последствии к ошибке.

 Тогда просто передаем в параметр текущий документ объект и в обработке над ним издеваемся, как хотим.

 

Предположим мы хотим поменять дату объекта документ в момент отладки.

Пишем в табло:


ВнешниеОбработки.Создать("E:\execute.epf").Исполнить("Параметр.Дата ='20131231235959'",ЭтотОбъект)

 

Видим результат ДО

и ПОСЛЕ (Для отображения нового значения даты надо "перещелкнуть" сроку с ЭтотОбъект.Дата)

 

Таким же способом можно менять на лету значение переменных, констант да и вообще чего угодно, до чего можно добраться кодом.

Вот такие пироги с котятами.: -)

Надеюсь кому-то это будет интересным и полезным.

9

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. ksvd 13.02.14 13:11 Сейчас в теме
Кавычки надо поменять на "
в
Ответ= «!!!Ошибка выполнения внешнего кода!!!...»+ОписаниеОшибки();

А для какой это конфигурации?
У меня в табло пишет:
{(1,1)}: Переменная не определена (ВнешниеОбработки)
Рэйв; +1 Ответить
3. Franco 68 13.02.14 15:12 Сейчас в теме
(1) ksvd, Для выполнения на сервере

Глобальный контекст (Global context)
ВнешниеОбработки (ExternalDataProcessors)
Использование:

Только чтение.
Описание:

Тип: ВнешниеОбработкиМенеджер.
Используется для доступа к внешним обработкам.

Доступность:

Сервер, толстый клиент, внешнее соединение.
2. Franco 68 13.02.14 15:10 Сейчас в теме
(0)
Ошибся, наверное, в
ВнешниеОбработки.Создать("E:\execute.epf").Исполнить("Параметр.Дата ='20132131235959'",ЭтотОбъект)
20132131235959
21-ый месяц 2013-го года.
За идею спасибо!
Рэйв; +1 Ответить
4. ksvd 13.02.14 16:06 Сейчас в теме
Понял, выполнять только под толстым клиентом. Жалко.
И название функции в обработке тогда уже не ИсполнитьКод, а Исполнить
5. artbear 1158 19.02.14 10:56 Сейчас в теме
(0) Давно известный прием.
Например, автор "Инструментов разработчика" кучу лет назад выкладывал свою статью об этом
Оставьте свое сообщение

См. также

Git для 1С-ника и другие технологии групповой разработки 35

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Инструментарий разработчика Git (GitHub, GitLab, BitBucket)

У многих специалистов в отношении Git сложились стереотипы, мешающие начать работу с этим прекрасным и удобным инструментом. Почему его не стоит бояться, и чем он может упростить жизнь 1С-никам, рассказал архитектор ГК «Невада» Станислав Ганиев.

28.10.2019    3883    stas_ganiev    15       

FastCode - сервис поиска кода 1С 50

Инструменты и обработки Программист Архив с данными v8 Бесплатно (free) Инструментарий разработчика

Добавляйте свои шаблоны кода или ищите готовые шаблоны других разработчиков. Оставляйте отзывы и лайки, добавляйте понравившиеся фрагменты в свою библиотеку. Ищите по БСП или по общим модулям своей конфигурации.

10.09.2019    5312    m.bolsun    22       

Как мы разрабатываем в EDT 63

Статья Программист Нет файла v8 Бесплатно (free) EDT

EDT – это новая среда разработки, на которую сейчас перешли разработчики фирмы «1С». Однако до сих пор существует ряд «белых пятен», касающихся как теоретической, так и практической части применения этого инструмента. Про опыт перехода на разработку в EDT на конференции INFOSTART EVENT 2018 EDUCATION рассказал начальник сектора разработки в компании «Группа Полипластик» Владимир Крючков.

23.08.2019    5775    ivanov660    21       

1С:EDT. Первые шаги… или есть ли альтернатива конфигуратору? 82

Статья Программист Нет файла v8 Windows Бесплатно (free) EDT

Заменить конфигуратор сложно, а в некоторых случаях невозможно, если, например, нужно оперативно подправить код непосредственно в рабочей конфигурации…

15.08.2019    8660    ellavs    77       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 139

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    10413    ids79    24       

Групповая обработка (Управляемая консоль отчетов) 28

Статья Программист Нет файла v8 v8::УФ v8::Запросы 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Бесплатно (free) Обработка документов Инструментарий разработчика Обработка справочников

Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

13.05.2019    3910    Evg-Lylyk    10       

Перенос и резервное копирование настроек конфигуратора 55

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Удобный перенос между рабочими местами и резервное копирование настроек конфигуратора через подсистему "Инструменты разработчика".

14.04.2019    5373    tormozit    18       

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы) 9

Статья Программист Стажер Нет файла v8 v8::УФ v8::СКД Бесплатно (free) Инструментарий разработчика Работа с интерфейсом

Кастомизация СКД, нестандартная расшифровка, загрузка параметров и другие действия требуют наличия формы отчета. При создании СКД отчета по умолчанию форма не создается, в большинстве случаев это и не требуется. Однако при ситуациях, перечисленных выше, форму все же нужно создать. Это простая инструкция по созданию такой типовой формы.

25.03.2019    5981    ellavs    9       

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам 129

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

В этой части мы рассмотрим наиболее распространённую схему workflow при групповой разработке с использованием Git. Как приступить к доработке по поставленной задаче; исправить ошибку, обнаруженную на этапе тестирования; отправить свой код на слияние в предстоящий релиз; и т.д. Постараемся охватить большинство задач, составляющих основной цикл разработки

28.01.2019    10420    stas_ganiev    18       

Автоматизация тестирования с помощью WinAutomationUI 28

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Рассматривается использование инструмента WinAutomationUI для создания автоматизированных сценарных тестов на примере 1 + 1 = 2.

11.12.2018    4171    AlexKo    30       

[8.3] Анализ планов запросов (Управляемая консоль отчетов) 134

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Консоль запросов

Новый инструмент! Позволяет удобно работать с планами запросов, анализ планов в файловой базе.

19.11.2018    14512    Evg-Lylyk    6       

Метрики, графики, статистика = Prometheus + Grafana 109

Статья Программист Нет файла v8 v8::ОУ Россия Бесплатно (free) Инструментарий разработчика

Снятие метрик из базы данных 1С с хранением в Phrometheus и красивое оформление на основе Grafana. Или как мы создавали комфортные условия административному персоналу на отдельно взятом складе.

23.10.2018    10183    197    freewms    64       

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git 277

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    36293    stas_ganiev    72       

Взгляд на практику разработки в EDT из зазеркалья 116

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) EDT

В данной статье расскажем о практическом опыте использования разработки в EDT: немного про интерфейс, командную разработку и GIT.

26.07.2018    18058    ivanov660    104       

Практика применения инструментов продвинутого разработчика 1С 155

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Статья адресована разработчикам. Будет чуть-чуть теории, будут воспоминания, и потом пойдет практика.

23.07.2018    20175    artbear    22       

Лайфхак: исходники внешних обработок и отчетов 1С - это просто. 34

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Важно: статья далеко на любителя всяких таких git'ов, gitlab'ов и oscript'ов.

22.06.2018    7913    new_user    11       

Создание поставки конфигурации 97

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

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

27.02.2018    13878    Vladimir_412    6       

Легкий способ обновления измененной конфигурации 41

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Легкий способ обновления измененной конфигурации. Сервис подготовки расширения конфигурации

25.10.2017    18968    avk72    63       

Консоль запросов для УФ с возможностью передачи готовой ТЗ в качестве параметра 15

Статья Программист Нет файла v8 v8::УФ Россия Windows Бесплатно (free) Консоль запросов

Небольшая статья о том, как передать готовую таблицу значений в качестве параметра запроса в консоли запросов.

11.07.2016    12723    vadim1011985    7       

Поиск несериализуемых значений при помещении в хранилище 12

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Универсальные функции

В статье разобран пример, как найти несериализуемые значения в случае помещения в хранилище коллекций, содержащих вложенные элементы. В качестве хранилищ рассмотрены временное хранилище значений и переменные типа ХранилищеЗначения.

02.03.2016    20504    balanton    2       

Подсветка синтаксиса 1С в текстовых редакторах Atom, Sublime Text, VS Code 101

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Разработка внешних компонент

Пакеты, добавляющие поддержку синтаксиса языка 1С:Предприятие 8 в текстовые редакторы Atom, Sublime Text и VS Code. И не только.

02.02.2016    23124    nixel    38       

Дай дернуть! О веб-сервисах, Linux'ах и добрых поисковых сайтах 61

Статья Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Инструментарий разработчика Администрирование данных 1С WEB

О веб-сервисах, апачах и *nix'ах. - установим на новенький убунту старенький апач с php. - дернем сервис из php-скрипта. - создадим приложение, позволяющее дергать произвольный сервис с произвольными данными. - ну и что там получится по пути в лес...

30.12.2015    22865    starik-2005    4       

xUnitFor1C - набор инструментов для выполнения тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) в 1С:Предприятии 8 178

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

xUnitFor1C - простой и мощный фреймворк для тестирования в 1С. Позволяет тестировать в разных режимах обычное приложение, тонкий и толстый клиент управляемого приложения. Поддерживаются любые платформы 1С - от 8.2.17 до 8.3.5 и выше. Любые наборы тестов могут прогоняться в полностью автоматическом режиме. Автозапуск используется в различных build-серверах в системах Continuous Integration. Также возможно очень простое создание тестовых данных на основании табличных макетов. Эти макеты можно генерировать из реальных боевых данных. Полученные данные в тестах загружаются одной строкой кода. В статье я кратко описал историю продукта + вставил небольшое описание различных возможностей нашего фреймворка + список полезных статей/примеров/видео, обучающих/рассказывающих о практическом применении инструмента

13.11.2015    37880    artbear    45       

Сервис обмена кодом 28

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

Бывало так, что вам нужно быстро показать кому-то свой код, но опубликовать его негде, так как популярные сервисы просто не поддерживают раскраску кода 1С? Теперь решение есть!

26.06.2015    18040    Infactum    23       

Многопоточность в 1С, клиент-серверный вариант 60

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Математика и алгоритмы

Многопоточность - это свойство системы выполнять одновременно более одной операции (в пределе - более одной программы), позволяя в ряде случаев добиться существенного роста производительности программного продукта...

21.06.2015    30749    starik-2005    50       

Универсальная функция для программного выполнения СКД 110

Статья Программист Нет файла v8::СКД 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика Универсальные функции

Часто встречаются вопросы на форумах о программном формировании СКД. Вроде и информации много по этому поводу, но... Все как всегда :) Собственно, в описании без лишних слов выложен текст общей функции, в которую, для выполнения отчета, нужно передать (минимум 2 параметра): СКД и ТабличныйДокумент.

20.05.2015    26997    dj_serega    18       

1C:Enterprise Development tools (EDT) или кодим в Eclipse 254

Статья Программист Нет файла v8 Windows Бесплатно (free) EDT

Как и выход мобильной платформы был для оооочень большого числа разработчиком открытием, так и я уверен, что и о новом конфигураторе - тоже мало кто слышал. Поэтому давайте попробуем пробежаться по новому конфигуратору. (Много больших картинок)

11.04.2015    71366    DitriX    297       

Перевод интерфейса конфигурации с использованием программы 1С:Переводчик 33

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Перевод текстов интерфейсов конфигураций без использования технологии памяти переводов приводит к рассогласованности терминологии, когда один и тот же объект в конфигурации в разных меню может называться по-разному. Решить эту проблему можно используя программу 1С:Переводчик.

09.02.2015    28711    boogie    21       

Генерация кода управляемой формы (декомпиляция элементов) 514

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика Практика программирования Работа с интерфейсом

Изменение форм типовых конфигураций лучше выполнять программно. Эта обработка упрощает добавление элементов на форму, генерируя код создания элементов, реквизитов и команд формы.

29.09.2014    93267    8967    ekaruk    123       

Типовой механизм упрощенного изменения конфигурации в ERP 2.0 и УТ 11 212

Статья Системный администратор Программист Нет файла v8 УТ10 ERP2 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Работа с интерфейсом

В ERP 2.0 (и соответственно в УТ 11) появился функционал для упрощенной возможности модификации конфигурации разработчиками. Он касается в частности изменения форм объектов и размещения подписок на элементы, теперь задача изменения конфигурации на поддержке упростилась. Также появились дополнительные возможности в новой версии платформы 8.3.5, которые также упростят задчу.

22.09.2014    50281    ivanov660    49       

Просмотр SQL-таблиц из 1С. Возможность очистки таблиц 26

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Обработка позволяет соединиться с SQL-сервером (SQL-авторизация), получить список баз на сервере, после выбора базы - получить список таблиц. Позволяет вывести таблицу на просмотр, при необходимости очистить таблицу средствами SQL (delete from), просмотреть соответствие имен таблиц объектам конфигурации, в которой запущена база

29.08.2014    18887    377    Abadonna    4       

TurboConf:Шаблоны - сервис для поиска и хранения фрагментов кода 43

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Сервис добавляет в Конфигуратор возможность поиска и хранения фрагментов кода. Делитесь своими шаблонами с другими разработчиками или используйте уже готовые!

13.08.2014    20093    m.bolsun    68       

Консоль запросов. Очередная гайка. 18

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Консоль запросов

Небольшое дополнение к консоли запросов. Позволяет создавать функцию вместе с текстом запроса.

23.07.2014    6637    mdmdvd    3       

Конвертер юникода в кириллицу 8

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Как преобразовать строку на юникоде в строку на кириллице, например, вот это: "/u042E/u043D/u0438/u043A/u043E/u0434" в это: "Юникод"

25.04.2014    10018    Mart    1       

Сохранение в Excel из WEB-клиента 13

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Не всегда корректно отрабатывает сохранение в Excel из 1C при работе в WEB-клиенте. Мне попалась ситуация, когда не отрабатывал код "ТабличныйДокумент.Записать(...)" и выдавалась ошибка "неизвестная ошибка.: object doesn't support this property or method" Ниже предложена процедура сохранения в Excel, корректно работающая во всех типах подключения.

24.04.2014    18629    Tavalik    1       

Подсистема "COMExchange": консоль запросов в режиме «Консоль кода». 8

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Консоль запросов

Описана возможность использования обработки «Консоль запросов 1С+ADO» в качестве «консоли кода». При этом имеется возможность помещения результатов вычислений в «табло формул». Кроме результатов вычислений в это «табло» можно также вывести время выполнения и описание обработанных ошибок времени исполнения.

03.04.2014    23701    yuraos    2       

Автоматизированное тестирование в 8.3 163

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

В данной статье будет рассмотрен новый механизм системы "1С:Предприятие 8" поддерживаемый начиная с платформы версии 8.3. Механизм позволяет легко и быстро создавать различные сценарии тестирования, без необходимости написания сложных процедур и функций для имитации действий пользователя.

06.03.2014    55017    M.Shalimov    45       

Перенос таблицы значений между клиентом и сервером 50

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Инструментарий разработчика Практика программирования

Всем привет. Бывают такие моменты, когда необходимо таблицу значений передать с сервера на клиент, увы, Мутабельные значения и т.д. В тоже время есть возможность перекидывать все это добро через Хранилище, чем собственно разработчики часто пользуются. Но сегодня я бы хотел вынести на Вашу критику вот такой пример переноса. Сильно не пинайте.

10.12.2013    77797    Draconus    35       

Native ВК для 1CV8: независимое чтение файлов *.xls и *.xlsx 152

Инструменты и обработки Программист Архив с данными v8 Россия Windows Бесплатно (free) Инструментарий разработчика

Не требует установленного в системе Microsoft Office (Excel) и Open Office. Технология Native, не требует регистрации в реестре

15.08.2013    28689    383    Abadonna    161       

Свойства файла (версия, ширина/высота изображения и т.д.) 6

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

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

29.07.2013    10985    zsrg    1       

V8 FORMATTER: Расширенная версия 78

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Форматирование кода модуля одним хот-кеем, ввод "неудобных" символов без переключения раскладки.

22.07.2013    17830    190    Abadonna    124       

VM1C - виртуальная машина для 1С 43

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Инструментарий разработчика

Демонстрация возможностей виртуальной машины для 1С. Создаем и выполняем код модулей в режиме Предприятия в реальном времени.

07.06.2013    21923    m.bolsun    46       

Подсистема "COMExchange", консоль запросов, сервис обработки выборки запроса: корректируем регистры или «Берём банк, кассу, экспроприируем экспроприаторов». 7

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Консоль запросов

На примере шуточного примера продемонстрированы не шуточные возможности консоли запросов в составе подсистемы "COMExchange" для работы с регистрами, подчинёнными регистратору («обнуление» регистров, ввод начальных итогов (сведений), корректировка итогов).

31.03.2013    20409    yuraos    7