Обновление, версия 3.0
Благодаря статье и обработке Консоль кода для управляемых форм появилась возможно сделать цветную консоль
Большая благодарность salexdv за это
!ВАЖНО - для работы необходимо подключать расширение для работы с файлами
- Теперь появилась подсказка при написании кода (Документы. | Массив. и т.д.)
- Можно подгружать методы конфигурации общих модулей, документов, обработок и т.д. для этого на вкладке "Дерево метаданных" нужно указать путь к папке выгруженной в файлы конфигурации
- Можно подгрузить свои шаблоны к которым вы привыкли *.st (Примеры -> Загрузить сниппеты из файла)
- Добавил в контекстное меню Запрос с обработкой результата, после конструирования запроса создаётся текст с установкой параметров и добавлением их в переменные уже с типизацией, и вывод в табличный документ
- Отдельным пунктом сделал "найти параметры запроса" который добавить параметры в переменные и в буфер обмена добавить код установки этих параметров (надо будет только CTRL+V)
- Переменные можно вставлять по навигационной ссылке (например в документе получаем навигационную ссылку в буфер обмена и в консоли вставляем через контекстное меню "Вставить")
- И т.д. и т.п. больше можно узнать в статье Консоль кода для управляемых форм
Обновление, версия 1.0
Добавлен функционал выполнения кода в фоне
Работает если в Конфигурации есть типовая подсистема "ДлительныеОперации"
(Гарантировать работу не могу т.к. у меня довольно старая версия бухгалтерии с этой подсистемой)
Результат выполнения если он нужен, можно получить с помощью:
- ВТД(Данные) - Вывести в табличный документ
- ВТекст(ДанныеСтроки) - Вывести в поле текст
- ДП(Данные) - Добавить в переменные
- Лог(Сообщение, МногострочноеСообщение) - таблица лога (видна при включенной кнопке "Текст")
В процессе выполнения кода можно выводить прогресс который можно будет видеть в строке состояния выполнения задания (снизу)
- Процедура СообщитьПрогресс(Знач Процент = Неопределено, Знач Текст = Неопределено)
СообщитьПрогресс(50,"Пол дела сделано");
Тут все просто что укажите то и увидите Шкала прогресса от 0 до 100, и текст который ввели
- СообщитьПроцент(Итератор, Всего, Текст = Неопределено, ВычислитьВремя = Истина)
СообщитьПроцент(Выборка.НомерСтроки,КоличествоДокументов,СтрШаблон("Работаем над документом %1",Выборка.Документ));
Для удобства обхода выборки (списка, таблицы и тд) сделал процедуру
Если известно количество строк и текущая строка то высчитает сама процент выполнения и спрогнозирует время сколько еще выполнятся будет
-Добавил условное оформление для вывода ВТД()
(Нужная страница появляется если нажата кнопка "Текст")
Для более удобного редактирования сделал Конструктор
Накидал несколько примеров использования
Состоит из таблицы
- Использование - Включена/Выключена
- Условие - Код при выполнение которого должно вернуть ЛОЖЬ/ИСТИНА
- Оформление - ячейка с оформлением, будут браться все свойства (цвета, шрифты, Формат, ориентация и т.д.)
При выводе ВТД проверяются условия сверху вниз и первое успешное применяется, остальные игнорируются
Не делаете тут сложные условия, т.к. проверка будет проводится с каждой ячейкой
Обновление, версия 0.8
-Добавлен список проектов, чтобы переключится между ними - "дабл клик" левой кнопкой мышки
-Добавлено копирование/вставка переменных (например в другой проект, можно несколько) правой кнопкой в поле переменных
Обратите внимание есть стандартные кнопка Копировать, а есть консольная
-Добавил простенькую генерацию Таблицы значений из табличного документа
-Ну и по традиции всякие мелочи, украшательства (по типу представления сериализуемых данных в переменных, что там дерево значений или структура), при выборе уже типизированной переменной будет открываться список выбора а не все дерево метаданных, ошибки какие сталкивался пофиксил.
Обновление, версия 0.7
-Когда добавляем в переменные параметры из запроса (кнопка "Найти параметры") в буфер обмена заполняется текст с установкой этих параметров. Достаточно потом в тексте сделать Ctrl+V
-Добавил конструктор форматной строки (в тексте правой кнопкой - "Форматная строка") если выделить форматную строку то откроется со значением, если не выделено то попытается выделить сам и вызвать конструктор
-"Обернуть" в форматную строку выделяем кусок текста (например "ЗначениеДата") и вызываем "Обернуть в формат строку" - получаем Формат(ЗначениеДата,"ДФ='dd.MM.yyyy'")
-Пофисил вызов конструктора запроса если в нем были строки с комментариями (Также как и в конфигураторе после изменения запроса комментарии пропадут)
-В редакторе (вторая вкладка) ссылок теперь можно редактировать Табличные Части (по строке с именем табличной части 2 клика - и откроется конструктор таблицы)
-Ну и по мелочи всякие штуки, в табличном документе запоминает ширину колонок (можно отключить галочкой "не запоминать ширину"), расширил список типов в переменных, при выводе ВТД если в 1 ячейку попадет таблица значений ее можно двойным кликом открыть, если в переменной ссылочный тип (даже пустая ссылка) можно через правую кнопку вызвать форму списка, и т.д. возможно что то забыл указать.
Обновление версия 0.6
-Пофиксил всплывающие баги
-Оптимизировал раскладку в дерево значений, теперь она идет поэтапно по нажатию на "+"
-Под переменными добавил поле для быстрого ввода пустой ссылки (если ввести "Док Спис с рас" - найдет по имени в метаданных или по синониму, при нажатии на Enter - добавить в переменные пустую ссылку)
-Добавил печать штрихкода
ш = ШК(Штрихкод,ТипКода = 1,Ширина = 800,Высота = 250,РазмерШрифта = 28,ОтображатьТекст = ИСТИНА,ПрозрачныйФон = ИСТИНА,УголПоворота = 0)
Возвращает картинку, ее можно вывести в ВТД(ш);
-Добавил вкладку с фоновыми заданиями (Типовая больно долго работает решил сделать для себя)
-Переменные можно выводить в табличный документ из контекстного меню
-Кнопка очистки проекта, в табличном документе в конетекстном меню тоже есть кнопка очистить
-Если нажать правой кнопкой по запросу и выбрать "найти параметры" - добавит в переменные найденные параметры
-Добавить "выполнить выделенное" в тексте выделяем нужный кусок кода - правая кнопка "Выполнить выделенное"
Обновление версия 0.5
1. Авто выделение текста запроса при вызове конструктора (как в конфигураторе) теперь не обязательно выделать текст запроса в ручную (пока багов не встречал в работе)
2. Добавлен констуктор таблицы значений (При выборе типа переменной выбрать тип "таблица значений"), в коде она определяеться как таблица значений, если выполняеться на клиенте то массив структур, при перетаскивании ее в текст кода генерируется запрос со всеми полями таблицы. Перетаскивание из "дерева" табличных частей объектов в "переменные".
3. Добавлена процедура ДП - добавить в переменные (из кода можно добавлять в список переменных)
4. Добавлены новые полезные функции в список функций
5. Перевел диалоги на асинхронные вызовы (для интерфейса Такси)
6. Вынес обработку вывода (функция ВТД()) выполняеться в конце, после выполнения всего кода, в процессе выполнения данные помещаються в буфер, потом выводяться, таким образом не время вывода не входит в показатели выполнения
Обновление версия 0.4
- Добавлена поддержка конструктора запросов для тонкого клиента для версии платформы 8.3.5 и выше (Для этого необходимо выделить текст запроса - правая кнопка мыши - конструктор запроса)
- Добавлен конструктор запроса с обработкой результата (только для создания)
- Заменил список выбора типа переменных на дерево (как в конфигураторе)
- Немного переработал интерфейс (всякие украшательства)
- Оптимизировал код / поправил выявленные ошибки
- Добавил дерево метаданных (Новая вкладка)
- Добавил поддержку типа "РезультатЗапроса" в функцию ВТД(Результат);
- Добавил возможность вывода Заголовка у таблицы Функция ВТД(ТЗ,Добавить = Ложь,Заголовок = Неопределено,СразуВРезультат = Истина)
Обновление версия 0.3
- Добавлен простой редактор реквизитов для спавочников и документов (можно передавать из Переменных, кнопка "В редактор")
- Исправление мелких ошибок/недочетов
Обновление версия 0.2
- Добавлено функция добавления переменных из табличной части (Выделяем область в табличной части - правая кнопка мышки - добавить в переменные)
- Добавлен показатель времени выполнения (Спасибо за наводку gruk)
- Добавлены встроенные функции "НайтиСсылки(значение)" - находит ссылки на ссылочный объект и выводит данные в табличный документ
- Добавлены встроенные функции "МетаданныеВДерево(ОчищатьДерево = истина)" - в окно дерева выводит метаданные конфигурации
- Функци ВТД(ТЗ,Добавлять = Ложь) Теперь понимает Дерево значений, а также раскрашивает ссылочный тип
- Добавил подробное описание ошибки
- Немного причесал код
Еще объясню функционал: над деревом есть поле с "@@" так вот при перетаскивании из дерева в текст - выполняется подстановка в из шаблона
Где @@ - это полный путь от значения до корня дерева: Пример - "Док.ГрафикПлатежей" можно задать шаблон ВТД(@@.Выгрузить()); и получится строка ВТД(Док.ГрафикПлатежей.Выгрузить());
"Док.Контрагент.Код" - весть путь
Также есть ## - Корень ("Док")
и #@ - Весь путь без корня ("Контрагент.Код")
Например шаблон: ПолучитьЗначениеРеквизита(##,"#@");
Можно использовать на клиенте при получении реквизита: Строка "Док.Контрагент.Код" будет как ПолучитьЗначениеРеквизита(Док,"Контрагент.Код");
Вступление
Часто приходилось проверить либо эмулировать ситуацию которая выполнялось в коде и посмотреть как она себя ведет и по чему так а не иначе, решил написать обработку помощник, куда вставляем код задаем переменные и значения и выполняем.
Также поможет при написании процедур и функций, тестировать как они работают в разных ситуациях.
Либо написать код исправления справочника или регистра, сохранить в файл и отдать аналитику который запустит ее в нужной базе.
Возможности
- 1. Добавление в список переменных для использования их в коде
- 2. Раскладывать переменные в дерево значений
Переносим Drag&Drop из переменных в поле дерева и обратно
Также Drag&Drop в текст
- 3. Выводить данные в табличный документ (функция ВТД())
встроенная функция: ВТД(значение)
- ТаблицаЗначений, Массив,Массив Структур ,Структура,Соответствие
-
- 4. Выполнение кода на сервере или клиенте (галочка над текстом выполнения)
- 5. Сохранение наработок в файл
- 6. Часто используемый список функции, которые заложены в обработке и не только, так же Drag&Drop