Консоль Программиста 8.3. Управляемые формы, тонкий/толстый клиент

Публикация № 198581 22.08.13

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

Обработка Консоль Кода программиста редактор текстов выполнение кода

Обработка в помощь программисту - тестировщику. Консоль позволяет выполнять код 1С на встроенном языка, по сути является универсальной внешней обработкой

Обновление, версия 1.0

Добавлен функционал выполнения кода в фоне

Работает если в Конфигурации есть типовая подсистема "ДлительныеОперации"

(Гарантировать работу не могу т.к. у меня довольно старая версия бухгалтерии с этой подсистемой)

Результат выполнения если он нужен, можно получить с помощью:

  • ВТД(Данные) - Вывести в табличный документ
  • ВТекст(ДанныеСтроки) - Вывести в поле текст
  • ДП(Данные) - Добавить в переменные
  • Лог(Сообщение, МногострочноеСообщение) - таблица лога (видна при включенной кнопке "Текст")

В процессе выполнения кода можно выводить прогресс который можно будет видеть в строке состояния выполнения задания (снизу)

  • Процедура СообщитьПрогресс(Знач Процент = Неопределено, Знач Текст = Неопределено)
СообщитьПрогресс(50,"Пол дела сделано");

Тут все просто что укажите то и увидите Шкала прогресса от 0 до 100, и текст который ввели

  • СообщитьПроцент(Итератор, Всего, Текст = Неопределено, ВычислитьВремя = Истина)
СообщитьПроцент(Выборка.НомерСтроки,КоличествоДокументов,СтрШаблон("Работаем над документом %1",Выборка.Документ));

Для удобства обхода выборки (списка, таблицы и тд) сделал процедуру

Если известно количество строк и текущая строка то высчитает сама процент выполнения и спрогнозирует время сколько еще выполнятся будет

 

-Добавил условное оформление для вывода ВТД()

(Нужная страница появляется если нажата кнопка "Текст")

Для более удобного редактирования сделал Конструктор 

Накидал несколько примеров использования 

Состоит из таблицы

  1. Использование - Включена/Выключена
  2. Условие - Код при выполнение которого должно вернуть ЛОЖЬ/ИСТИНА
  3. Оформление - ячейка с оформлением, будут браться все свойства (цвета, шрифты, Формат, ориентация и т.д.)

При выводе ВТД проверяются условия сверху вниз и первое успешное применяется, остальные игнорируются

Не делаете тут сложные условия, т.к. проверка будет проводится с каждой ячейкой

 

Обновление, версия 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

  1. Добавлена поддержка конструктора запросов для тонкого клиента для версии платформы 8.3.5 и выше (Для этого необходимо выделить текст запроса - правая кнопка мыши - конструктор запроса)
  2. Добавлен конструктор запроса с обработкой результата (только для создания)
  3. Заменил список выбора типа переменных на дерево (как в конфигураторе)
  4. Немного переработал интерфейс (всякие украшательства)
  5. Оптимизировал код / поправил выявленные ошибки
  6. Добавил дерево метаданных (Новая вкладка)
  7. Добавил поддержку типа "РезультатЗапроса" в функцию ВТД(Результат);
  8. Добавил возможность вывода Заголовка у таблицы Функция ВТД(ТЗ,Добавить = Ложь,Заголовок = Неопределено,СразуВРезультат = Истина) 

Обновление версия 0.3

  1. Добавлен простой редактор реквизитов для спавочников и документов (можно передавать из Переменных, кнопка "В редактор")
  2. Исправление мелких ошибок/недочетов

Обновление версия 0.2

  1. Добавлено функция добавления переменных из табличной части (Выделяем область в табличной части - правая кнопка мышки - добавить в переменные)
  2. Добавлен показатель времени выполнения (Спасибо за наводку gruk)
  3. Добавлены встроенные функции "НайтиСсылки(значение)" - находит ссылки на ссылочный объект и выводит данные в табличный документ
  4. Добавлены встроенные функции "МетаданныеВДерево(ОчищатьДерево = истина)" - в окно дерева выводит метаданные конфигурации
  5. Функци ВТД(ТЗ,Добавлять = Ложь) Теперь понимает Дерево значений, а также раскрашивает ссылочный тип
  6. Добавил подробное описание ошибки
  7. Немного причесал код

Еще объясню функционал: над деревом есть поле с "@@" так вот при перетаскивании из дерева в текст - выполняется подстановка в из шаблона

Где @@ - это полный путь от значения до корня дерева: Пример - "Док.ГрафикПлатежей" можно задать шаблон ВТД(@@.Выгрузить()); и получится строка ВТД(Док.ГрафикПлатежей.Выгрузить());

"Док.Контрагент.Код" - весть путь

Также есть ## - Корень ("Док")

и #@ - Весь путь без корня ("Контрагент.Код")

Например шаблон: ПолучитьЗначениеРеквизита(##,"#@");

Можно использовать на клиенте при получении реквизита: Строка "Док.Контрагент.Код" будет как ПолучитьЗначениеРеквизита(Док,"Контрагент.Код");

 

Вступление 

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

Также поможет при написании процедур и функций, тестировать как они работают в разных ситуациях.

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

Возможности

  • 1. Добавление в список переменных для использования их в коде

  • 2. Раскладывать  переменные в дерево значений 

Переносим Drag&Drop из переменных в поле дерева и обратно

Также Drag&Drop в текст 

  • 3. Выводить данные в табличный документ (функция ВТД())

встроенная функция: ВТД(значение)

- ТаблицаЗначений, Массив,Массив Структур ,Структура,Соответствие

    • 4. Выполнение кода на сервере или клиенте (галочка над текстом выполнения)
    • 5. Сохранение наработок в файл
    • 6. Часто используемый список функции, которые заложены в обработке и не только, так же Drag&Drop
  •  

 

Скачать файлы

Наименование Файл Версия Размер
Консоль Программиста

.epf 8,14Mb
646
.epf 1.0 8,14Mb 646 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. postal222 22.08.13 18:14 Сейчас в теме
Попытался прочитать, втупил на первом же слове "Втупление". Люди, очень прошу, загоняйте текст в Word перед публикацией, это просто. И не наступите ногами в жир.
DrAku1a; PLAstic; kadild; b-dm; Dmitri93; SeiOkami; Bukaska; +7 Ответить
4. Bukaska 136 23.08.13 17:34 Сейчас в теме
(1) postal222, (2) Поручик, (3) KonstB, Да вроде как поправили)))
28. Misha_J 88 11.08.17 10:52 Сейчас в теме
Че-то у меня при попытке зайти в Конструктор запроса вываливается ошибка:

{(1)}: Ошибка при вызове конструктора (КонструкторЗапроса)
к = Новый КонструкторЗапроса(Текст);
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"

??
Aquashop; +1 Ответить
29. hmanubis 211 11.08.17 16:57 Сейчас в теме
(28) Добрый день! Да была такая ошибка, выложил новую версию в ней она поправлена
30. starik-2005 2398 11.08.17 17:20 Сейчас в теме
(29)
была такая ошибка
Это проблема открытия конструктора с пустым запросом (пустая строка запроса в конструкторе) в толстом клиенте (управляемое приложение). В тонком клиенте конструктор открывается без проблем.
m_aster; hmanubis; +2 Ответить
31. hmanubis 211 11.08.17 18:08 Сейчас в теме
(30) Вот оно что) Спасибо. Доработал и этот момент
2. Поручик 4534 23.08.13 07:54 Сейчас в теме
(0) (1) Только я один не втупил в описании?

Автор, исправьте, иначе поставлю минус.
3. KonstB 178 23.08.13 16:00 Сейчас в теме
выполнить(ПП)
- уводит 1С в даун :)
5. GreenFox 23.08.13 17:49 Сейчас в теме
Идея своя или откудато взяли?
На Инфостарте было
http://infostart.ru/public/146648/
http://infostart.ru/public/60377/

За управляемые формы отдельное спасибо!
Буду посмотреть.
6. hmanubis 211 24.08.13 00:39 Сейчас в теме
(0)(1) Благодарю за поправку =)
(5)
Идея своя или откудато взяли?

Идея своя, но перед выкладыванием были подозрения что уже кто-то такое сделал, поискал и наткнулся на эти же самые публикации, но они не на УФ, да и идея достаточно банальна, да и делал изначально для собственного удобства, но коллегам понравилось решение и я решил все таки вложить =)
Tolpinski; gabzalilovms; +2 Ответить
7. hmanubis 211 26.08.13 11:15 Сейчас в теме
(0)(1) Спасибо за поправку =)
(5)
Идея своя или откудато взяли?

Идея своя, но перед выкладыванием были подозрения что уже кто-то такое сделал, поискал и наткнулся на эти же самые публикации, но они не на УФ, да и идея достаточно банальна, да и делал изначально для собственного удобства, но коллегам понравилось решение и я решил все таки вложить =)
PLAstic; gabzalilovms; +2 Ответить
8. gruk 4 29.08.13 05:33 Сейчас в теме
(0) Может добавить время выполнения кода? Было бы удобно для оптимизации циклов
9. hmanubis 211 29.08.13 21:29 Сейчас в теме
(8) Да можно
Добавьте функцию в обработку:

Функция ПолучитьВремяВМиллисекундах()
Scr = Новый COMОбъект("MSScriptControl.ScriptControl");
Scr.Language = "javascript";
Возврат Scr.Eval("new Date().getTime()");
КонецФункции

и вызывайте прям в тексте выполнения кода:

Дата1 = ПолучитьВремяВМиллисекундах();
<выполняемый код>
Дата2 = ПолучитьВремяВМиллисекундах();
СС(Дата2 - Дата1); //Сообщить время выполнения
//ну или куда-то еще вывести например в
_ПолеВвода = Дата2 - Дата1;
10. gruk 4 30.08.13 03:58 Сейчас в теме
(9) Я в своей примитивной консольке делал так

Перем Scr;

Процедура КнопкаВыполнитьНажатие(Кнопка)
	Код = ЭлементыФормы.ИсходныйКод.ПолучитьТекст();
	Попытка
		ВремяНачалаВыполнения = Scr.Eval("new Date().getTime()");
		Выполнить(Код);
		ЭтаФорма.Заголовок = "Консоль команд - Время выполнения "+(Scr.Eval("new Date().getTime()")-ВремяНачалаВыполнения)+" ms";
	Исключение
		Сообщить(ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
	КонецПопытки;
КонецПроцедуры

Scr = Новый COMОбъект("MSScriptControl.ScriptControl"); 
Scr.Language = "javascript"; 
Показать

Так погрешность 0-1 мс, если использовать ПолучитьВремяВМиллисекундах() и каждый раз там создавать COM-объект, то погрешность будет 2-4 мс.
36. the1 920 26.09.17 14:40 Сейчас в теме
(9) на х64 упадет в исключение
11. simargle 93 03.09.13 07:06 Сейчас в теме
Коллеги, с версии 8.2.17 появилась возможность использоваться функцию платформы "ТекущаяУниверсальнаяДатаВМиллисекундах()" - думаю в этом случае лучше использовать ее, нежели конструировать com-объект. Тем паче, что данное решение не универсально и будет работать только в windows-среде.
m_aster; AZel84; Irwin; МимохожийОднако; Yakud3a; MoshkovEV; hmanubis; +7 Ответить
12. wunderland 201 13.09.13 17:38 Сейчас в теме
+ поставил, но описание скудновате... методом научного тыка, конечно, можно, но впечатление портит...
antonio_i; +1 Ответить
13. vvirus 19 29.10.13 07:34 Сейчас в теме
при проверке

Обработка.КонсольПрограммиста.Форма.Форма.Форма Отсутствует обработчик: _ПолеВвода.Расширение "_ПолеВводаАвтоПодбор"
Обработка.КонсольПрограммиста.Форма.Форма.Форма Отсутствует обработчик: _Ссылки "_СсылкиПеретаскивание"
Обработка.КонсольПрограммиста.Форма.Форма.Форма Отсутствует обработчик: _Результат.Расширение "РезультатОбработкаРасшифровки"
Обработка.КонсольПрограммиста.Форма.Форма.Форма Отсутствует обработчик: _Ссылки "СсылкиПриАктивизацииСтроки"
14. vvirus 19 30.10.13 12:18 Сейчас в теме
//"Свалил" 1с кодом
Запрос = новый запрос ("Выбрать * из справочник.Файлы");
ВТД(Запрос.Выполнить().Выгрузить());
15. hmanubis 211 30.10.13 14:32 Сейчас в теме
(14) vvirus, Да не углядел косяк, для Таблицы значений в одной ячейке нету отображения. Спасибо!. Скоро выложу новую версию
16. нинас 12.11.13 05:22 Сейчас в теме
Будем ждать новой версии
17. dj_serega 380 24.12.15 15:28 Сейчас в теме
18. hmanubis 211 24.12.15 16:21 Сейчас в теме
(17) dj_serega, давно в ручную не писал) разучился))
19. Zhilyakovdr 131 25.12.15 15:55 Сейчас в теме
Добрый день!
Было бы не плохо иметь:
1) Ссылку(на форме) на адрес публикации;
2) Совместимость с сохраненными кодами от предыдущих версий обработки;
3) Подробную инструкцию в справке(все то что в описании).
Спасибо за полезный и удобный инструмент.
20. hmanubis 211 28.12.15 17:28 Сейчас в теме
(19) Zhilyakovdr, Добрый день) Хорошо, постараюсь все учесть в следующем обновлении
По поводу пункта 2, вроде особо не менялось ничего. Возможно только с первой версией не совместимо, но я уже не помню что конкретно)
21. Zhilyakovdr 131 11.01.16 17:26 Сейчас в теме
22. o2005 62 13.03.16 17:16 Сейчас в теме
Скачал эту обработку, но в ней нет возможности выбрать тип "Таблица значений". Уточните пожалуйста, что я мог сделать не так.
23. hmanubis 211 14.03.16 13:25 Сейчас в теме
(22) o2005, Добрый день. вроде не должно быть ни каких проблем, вопрос еще актуален? Если актуален, тогда давайте в личные сообщения разберемся в чем дело)
24. pallid 09.04.16 00:42 Сейчас в теме
{Форма.Форма.Форма(28)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
Выполнить(ТекстВыполнения);
по причине:
{(5,1)}: Процедура или функция с указанным именем не определена (cc)
<<?>>cc(Текст);


В справке написано что должно работать

26. hmanubis 211 10.04.16 10:56 Сейчас в теме
(24) white_sochi, Должно работать) возможно в английской раскладке вводите? Надо в русской.
(25) white_sochi, Я его использовал для обработки текста.
Допустим разбор текстового файла (в коде можно вызвать Текст = ПолучитьТекст()) ,
или наоборот для вывода текстовой информации (процедура ВТекст(Строка)),
да оно не сохраняется, скорее всего в следующей версии сделаю сохраняемым это поле
25. pallid 09.04.16 00:44 Сейчас в теме
Для чего поле "Текст"? Как его использовать? Я думал для заметок к коду, ан нет, оно не сохраняется в файл
27. Vovanches 16.12.16 12:37 Сейчас в теме
Неплохая штука получилась, буду пользоваться.
Замечание: в переменных нет типа данных для планов обмена в частности (и вообще не все типы представлены).
И таки не плохо бы инструкцию. Как минмимум по всяким неочевидным приемам.

PS.За процедуру Забубенить() - отдельный плюсик :).
32. b-dm 169 17.08.17 11:02 Сейчас в теме
Для обычных форм планируется ? Или может быть есть аналог ?
34. hmanubis 211 17.08.17 13:19 Сейчас в теме
(32) Если честно, делал для себя, и т.к. с обычными формами уже лет 100 не работал, думаю врятли буду делать.
Аналоги есть для обычных форм, вот например, сам правда не пользовался
http://infostart.ru/public/146648/
http://infostart.ru/public/60377/
35. nomadon 418 23.08.17 14:27 Сейчас в теме
+1 за применение стольких усилий к переводу ИР мобильных в управляемые формы
37. nestokay 27.02.18 13:51 Сейчас в теме
Очень классная штука, спасибо.
38. Tolpinski 57 21.06.18 11:15 Сейчас в теме
Все супер, за исключением запросов.
Не воспринимает запрос если часть строк под комментарием.
Случаются случаи вставки кода запроса в произвольное место.
Ну и авто сохранение бы не помешало.
39. seregasame 04.07.18 10:15 Сейчас в теме
Спасибо, полезная штука, часто используем в работе!
Единственное чего не хватает - на вкладке "Редактор" возможности редактировать таб части объектов, в коде нашел закомментированную часть про табличные части, видимо что то не получилось там допилить?
40. hmanubis 211 04.07.18 12:33 Сейчас в теме
(39) Уже получилось), все никак руки не дойдут выложить свежую версию, постараюсь на недельке
41. pvlunegov 174 05.07.18 07:59 Сейчас в теме
Автору большое пожелание убрать из кода функции типа
СтрРазделить
СтрШаблон
СтрНайти
Для конфигураций, запускаемых в режиме совместимости эти функции не работают, запуск вашей обработки приводит к ошибкам.
Вот почитайте https://infostart.ru/public/366865/
Большая просьба, в коде заменить эти функции на аналоги.
В конфигурациях, без режима совместимости, все запускается и работает.

Еще огромная просьба добавить обычную форму, не управляемую

Тогда вашу обработка будет вообще огонь!

Заранее спасибо!
hmanubis; +1 Ответить
43. hmanubis 211 05.07.18 13:49 Сейчас в теме
(41) об этом то я и не подумал) Спасибо, учту. Обычную форму добавлять не планирую, уж извините но по работе с ними не сталкивался уже очень давно, да и хватает на инфостарте таких обработок под обычные формы.
starik-2005; pvlunegov; +2 Ответить
42. pvlunegov 174 05.07.18 08:17 Сейчас в теме
я отредактировал вашу обработку, закомментировал вызовы функции которые вызывали ошибки в конфигурациях, запускаемых в режиме совместимости.
заменил их на аналоги.
Сейчас обработка стала запускаться в упоминаемых конфигурациях.
Выкладываю отредактированный файл, просьба рассмотреть его.
44. hmanubis 211 05.07.18 13:52 Сейчас в теме
(42) Файл взял, просьба удалить его) сегодня постараюсь обновить
45. pvlunegov 174 05.07.18 14:13 Сейчас в теме
Добрый день! Пытался удалить свой комментарий с файлом - не могу - не дает!
48. hmanubis 211 05.07.18 14:56 Сейчас в теме
(45) А изменить дает? мб просто ссылку убрать на файл?
49. pvlunegov 174 05.07.18 15:03 Сейчас в теме
(48) написал в службу поддержки, ссылку на файл из моего коммента удалили, спасибо им...
46. pvlunegov 174 05.07.18 14:17 Сейчас в теме
Автор, подскажите, пытался найти способ выполнения кусков кода с описанием функций.
У вас запуск кода сделан через оператор Выполнить(КусокКода). У всем известной разработки "Инструменты разработчика" сделано так-же.
Таким способом не получится выполнить кусок кода с объявлением функций.
Пробовал распарсивать код операторами Перейти ~Метка - не получается.
Думал в сторону алгоритма парсинга кода, вставки в места вызова функций кода функций (думаю так и работает формирование исполняемых файлов).
Что думаете? как это дело реализовать?
47. hmanubis 211 05.07.18 14:56 Сейчас в теме
(46) я тоже в эту сторону думал, в своей консоли сделал так, в переменные можно добавить тип "функция", реализовал так: перед выполнением кода в тексте выполняется замена описанной функции на Вып(ИмяФункции), этого не описывал т.к. еще плохо отлажена, а так можно пользоваться.
Да лучше вызывать такие функции в одну строчку
pvlunegov; +1 Ответить
50. pvlunegov 174 05.07.18 15:09 Сейчас в теме
(47) я хочу вашу разработку развить.
Уже очень давно мне нужна подобная вещь, как у вас, но нужно отлаживать куски кода с функциями.
Мыслю так:
1. Любой парсер кода в взрослом языке проверяет синтаксическую корректность кода.
2. Если язык интерпретируемый (например 1с) то перед запуском кода происходит автоматическая компиляция кода на встроенном языке в исполняемый код и запуск исполняемого кода
3. Если язык компилируемый (С++) то перед запуском происходит компиляция встроенного кода в исполняемый, в случае С++ в двоичный код, при запуске происходит прямое исполнение скомпилированного кода.
4. Если программист желает написать свой компилятор (я это и желаю, раз других вариантов нет), значит смотри п. 2-3
5. Если мы хотим исполнять код 1с с функциями, мы должны написать парсер, обладающий свойствами 2 или 3.
6. Код функций должен вырезаться из исполняемого кода и вставляться в места вызова функций с вставленными значениями параметров - в этом суть компиляции.

Осталось по п. 1-6 написать компилятор. Задача ясна и посильна средствами 1с.
51. hmanubis 211 05.07.18 15:19 Сейчас в теме
(50) А чем вот такой вариант не подходит? Возможно плохо объяснил)
Прикрепленные файлы:
52. pvlunegov 174 05.07.18 16:02 Сейчас в теме
(51) это не очевидно, особенно визуально, костыльно.
Необходимо, чтобы в консольку можно было пихать любой код из модулей типовой конфигурации, она его отрабатывала.
Код может включать описания функций.
Именно поэтому необходимо написать свой интерпретатор, который раздербанивает предоставляемый код на код функций и вставляет код функций в места их вызова. Полученный код запускается на исполнение.
Это по сути интерпретатор. Но он необходим для работы механизма.
53. pvlunegov 174 05.07.18 16:04 Сейчас в теме
Ваша обработка, после моей доработки напильником, запускается в толстом клиенте в НЕуправляемом режиме. Все ок.
Но когда мы пытаемся вызвать конструктор запроса = ошибка. Косяк!
Исправил так:

&НаКлиенте
Процедура ВызватьКонструкторЗапроса(ФормироватьКод = Ложь)
	Текст = СокрЛП(Элементы._Текст.ВыделенныйТекст);
	Если НЕ ЗначениеЗаполнено(Текст)  Тогда
		ВыделитьЗапрос();
		Текст = СокрЛП(Элементы._Текст.ВыделенныйТекст);
	КонецЕсли; 
	
	ДопПараметры = новый Структура("КавычкаПраво,КавычкаЛево,ФормироватьКод",Ложь,Ложь,ФормироватьКод) ;
	Если Найти(ВРЕГ(Текст),"ВЫБРАТЬ") = 0 Тогда
		Текст = "";
	Иначе
		Текст = СтрЗаменить(Текст,"|","");
		Если Сред(Текст,1,1) = """" Тогда
			Текст = Сред(Текст,2);
			ДопПараметры.КавычкаЛево = Истина;
		КонецЕсли;
		Если Прав(Текст,1) = """" Тогда
			Текст = Сред(Текст,1,СтрДлина(Текст)-1);
			ДопПараметры.КавычкаПраво = Истина;
		КонецЕсли;
		
	КонецЕсли; 
	
	Текст = "Выбрать 1";
	#Если ТолстыйКлиентУправляемоеПриложение Тогда
		Если ПустаяСтрока(Текст) Тогда
			Текст = "Выбрать 1";
		КонецЕсли; 
	#КонецЕсли
	
	Текст = СтрЗаменить(Текст,"""""","""");
	//к = Новый КонструкторЗапроса(Текст);
	//Строка = "к = Новый КонструкторЗапроса(Текст);
	Строка = "к = Новый КонструкторЗапроса("""+Текст+""");"+"
	| к.Показать(Новый ОписаниеОповещения(""ПриЗакрытииКонструктораЗапроса"",ЭтаФорма,ДопПараметры));";
	Выполнить(Строка);
КонецПроцедуры // ВызватьКонструкторЗапроса()
Показать
54. smirnov0ser 101 22.08.18 14:11 Сейчас в теме
Очень удобная разработка, спасибо.
Раскрашивание текста невозможно?
Нашел ошибку при использовании собственных функций на клиенте: функция "ЗабубенитьК" - лишний символ "|" в тексте выполнения.
hmanubis; +1 Ответить
55. hmanubis 211 23.08.18 13:28 Сейчас в теме
(54) Раскрасить можно, но я еще не встречал адекватно работающий функционал. Не получается редактировать и видеть разукрашенный текст в одном поле, либо вылезают странные баги символы, в общем я бросил эту затею)

Нашел ошибку при использовании собственных функций на клиенте: функция "ЗабубенитьК" - лишний символ "|" в тексте выполнения.

Насчет ошибки спасибо, исправлю (так редко пользуюсь на клиенте, что до сих пор ее не заметил)
56. user1035171 30.08.18 14:20 Сейчас в теме
Добрый день.

Спасибо за обработку, но встретился с ошибками.

При заполнении дерева метаданных на соответствующей вкладке падает ошибка {ВнешняяОбработка.КонсольПрограммиста.Форма.Форма.Форма(4038)}: Поле объекта не обнаружено (Таблица)

На вкладке консоль при попытке выполнить код на клиенте, падает ошибка:
{ВнешняяОбработка.КонсольПрограммиста.Форма.Форма.Форма(661)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
Выполнить(ТекстВыполнения);
по причине:
{(8,1)}: Ожидается ключевое слово 'Исключение' ('Except')
<<?>>|Элементы.ВремяВыполнения.Заголовок = ФорматВременияВМилисикундах(__Р);
{(9,2)}: Ожидается последовательность операторов
<<?>>Исключение

Конфигурация УТ 11.4.2.139
57. hmanubis 211 30.08.18 14:50 Сейчас в теме
(56) Добрый день!
что касается выполнения на клиенте скоро выложу новую версию с исправлением, а чтобы не ждать, зайдите через конфигуратор в форму обработки - процедура "ЗабубенитьК" и в строчке
||Элементы.ВремяВыполнения.Заголовок = ФорматВременияВМилисикундах(__Р); 
Удалите в начале лишний символ "|"

А насчет дерева метаданных, не подскажете какой элемент в дереве появился последним, после ошибки?

P.S.
А кажется понял, в процедуре "ПолучитьДеревоМетаданныхКонфигурации" есть код
Нстр.Картинка  = БиблиотекаКартинок.Таблица;

а стандартная картинка таблицы появилась не так давно в платформе, надо будет что-то с этим придумать, а пока можете закомментировать этот код
58. u_n_k_n_o_w_n 46 22.08.19 14:29 Сейчас в теме
Отличная обработка!!!

Спасибо за ваши труды!!!
59. m_aster 100 22.01.20 20:31 Сейчас в теме
Спасибо, скачал, попробовал в типовой БП 3.0 просто вывести Номенклатуру все реквизиты запросом, получил ошибку:
{(5,1)}: Неопознанный оператор
{ВнешняяОбработка.КонсольПрограммиста.Форма.Форма.Форма(2344)}: Выполнить(ТекстВыполнения);
{ВнешняяОбработка.КонсольПрограммиста.Форма.Форма.Форма(537)}: Забубенить(Текст);
{ВнешняяОбработка.КонсольПрограммиста.Форма.Форма.Форма(521)}: ВыполнитьКодОбщий();

по причине:
{(5,1)}: Неопознанный оператор
<<?>>| Номенклатура.Ссылка КАК Ссылка,

Ошибка по всей видимости в процедуре "Забубенить"(на мой взгляд ее можно было как-то поэлегантнее назвать:))?
Ошибка возникает и в других конфигурациях
60. hmanubis 211 23.01.20 02:55 Сейчас в теме
(59)
Забубенить
Странно, а запрос конструктором с обработкой результата делали? Или вручную писали? Если можно листинг всего кода посмотреть который пытаетесь выполнить.
61. m_aster 100 23.01.20 11:36 Сейчас в теме
(60) Сейчас под рукой нет Вашей консоли. Да, все конструктором, насчет обработки результата не помню, по моему просто запрос с выводом в таблицу, все в типовой, писал выше, выборка из "Номенклатуры", удивило, что в текст запроса добавляет символ переноса, ошибка также выше:
"{(5,1)}: Неопознанный оператор
<<?>>| Номенклатура.Ссылка КАК Ссылка,"
а запрос так выглядит
ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
...
62. hmanubis 211 23.01.20 12:53 Сейчас в теме
(61) Похоже вы пытаетесь использовать ее как консоль запросов, она так не работает.
Надо писать как код в модуле. т.е. чтобы выполнить запрос надо создать объект запроса и выполнить его

Запрос = Новый Запрос("Выбрать Ссылка из Справочник.Номенклатура");
Результат = Запрос.Выполнить();

//Вывод результата в табличный документ
ВТД(Результат);


Попробуйте использовать "Конструктор запроса с обработкой результата" для создания запроса, а "Конструктор запроса" для редактирования запроса
63. antonio_i 69 07.05.20 16:16 Сейчас в теме
Доброго времени.
А инструкция по использованию функций есть? Или только через отладчик?
Может хотя бы кратко опишете "что куда сувать и зачем"?
64. hmanubis 211 07.05.20 17:21 Сейчас в теме
(63)Добрый день. Про какие функции вы имеете введу? Встроенные в обработку? Или про которые вы сами написали и хотите использовать как функцию в коде обработки?
65. antonio_i 69 07.05.20 17:39 Сейчас в теме
(64) Я говорю про обработку, представленную в публикации.
В ней есть команды (кнопочки на форме), некие предопределённые Функции (которые отображаются по нажатии кнопки Функции), думаю направление понятно описал.
Да и общее описание какая закладка для чего задумывалась. С фоновыми заданиями и редактором то в общем понятно, а вот дерево метаданных для чего закладка нужна?
Это просьба.
Да и для описания функционала остальным участникам, думаю, будет нагляднее.
66. hmanubis 211 07.05.20 17:52 Сейчас в теме
(65)Ну описание вроде есть в публикации, правда в обратном порядке) Надо бы как-то переоформить описание Не мой конек писать инструкции
С вкладкой дерево метаданных, что-то даже не подумал что могут быть вопросы) Это что бы можно было без конфигуратора поглядеть что есть по метаданным в конфигурации справочники, документа... и. т. д. их реквизиты, как называются какие синонимы, типы.
Прикрепленные файлы:
67. antonio_i 69 07.05.20 18:36 Сейчас в теме
(66) А, ясно, думал, что там заложен какой-то доп.фунционал :)
68. uribur 14 16.09.21 10:16 Сейчас в теме
Прикупил, удобно.
Автор, подскажи пожалуйста, зачем в коде функция Computer_WindowsInfo для сбора информации о компьютере, с кучей функций дополнительных?
Кнопки для того тчо бы это вызвать или как то ипользовать я не нашел.
Развей мои плохие мысли, пожалуйста.
69. hmanubis 211 19.09.21 10:50 Сейчас в теме
(68) Привет, если честно это копипаста из статьи Ссылка
Думал может как-то пригодится, пока ни как) ну и да запустить это все наверное не выйдет без доработки

Нужно хотя бы седлать функцию Computer_WindowsInfo Экспортной
Ну а потом вызвать
Об = РеквизитФормыВЗначение("ОбъектОбработки");
Т = Об.Computer_WindowsInfo();
ВТД(Т);


Либо через фоновое выполнение
Т = Computer_WindowsInfo();
ВТД(Т);


Но думаю либо уже не работает это все как надо, либо вообще не работает
Оставьте свое сообщение

См. также

Внешний регламент для 1С Промо

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    8273    9    moolex    11    

Конструктор запросов для пользователей

Универсальные обработки Прочие инструменты разработчика v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Россия Абонемент ($m)

Конструктор запросов на языке 1С 8.3 (УФ) совместно с СКД, ориентированный для пользователей и бизнес аналитиков BI систем, доступный и понятный, результатом является текст запроса.  

10 стартмани

19.10.2021    479    2    serovmsk    0    

JКоннектор (jc1c), Java

Прочие инструменты разработчика v8 Абонемент ($m)

Приветствую коллеги! Данная библиотека призвана упростить и настроить быстрое и простое взаимодействия 1С и вашего скрипта на Java, далее по тексту просто - jar.

1 стартмани

04.10.2021    747    1    kaliuzhnyi    4    

Табличная часть как поле ввода

Практика программирования Прочие инструменты разработчика v8 Абонемент ($m)

Табличная часть как поле ввода с программным добавлением строк.

1 стартмани

20.09.2021    2738    4    harchenko_pavel    87    

Подсистема "Показатели объектов" Промо

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.03.2021    6621    6    pila86    16    

Запуск в фоне процедуры модуля внешней обработки на управляемых формах без БСП

Прочие инструменты разработчика v8::УФ 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

20.09.2021    802    1    user1472448    0    

Установка произвольных параметров для дополнительных отчетов и обработок (БСП)

БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 v8::УФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Россия Абонемент ($m)

Внешняя обработка (УФ) для установки произвольных параметров дополнительных отчетов, печатных форм, обработок в конфигурациях на базе БСП 3.0 и старше.

1 стартмани

17.09.2021    742    2    fddf    2    

Система управления IT проектами (встроенный редактор кода, контроль версий, заметки и др.) (поддерживается: Python)

Управление проектом Автоматизация ИТ-компании Прочие инструменты разработчика v8 ИТ-компания Абонемент ($m)

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

1 стартмани

17.09.2021    770    0    Nabi    0    

Markdown-editor в 1С (с сохранением в HTML) Промо

Универсальные обработки Прочие инструменты разработчика v8::УФ 1cv8.cf Абонемент ($m)

В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.

1 стартмани

04.07.2019    12289    18    riposte    6    

Чтение CSV файла с многострочным текстом

Прочие инструменты разработчика Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для чтения CSV файла, содержащего в значении параметра многострочный текст. Также можно заполнить любые текстовые реквизиты номенклатуры из исходного файла. Адаптирована для любой конфигурации на обычных формах, в которых есть Справочник "Номенклатура". Выбираем / читаем файл, устанавливаем реквизиты поиска, чтения и заполнения реквизитов элемента справочника. Жмем "Загрузить данные".

1 стартмани

14.09.2021    618    0    milolan    2    

Просмотр открытых окон и информации экрана клиента

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Простая как топор, но полезная, обработка, которая показывает принадлежность формы открытого окна клиента и разрешение экрана по данным ОС и 1С.

1 стартмани

12.08.2021    1367    2    Ululu    9    

Выгрузка измененных внешних обработок (за день)

Универсальные обработки Git (GitHub, GitLab, BitBucket) Прочие инструменты разработчика v8 8.3.14 1cv8.cf УТ10 УПП1 Абонемент ($m)

Выгрузка новых и измененных внешних обработок и отчетов за любой выбранный день: только одного или нескольких видов; разные папки или в все в одну; с добавлением кода в название файла или нет; только новые и измененные за один день или все. Полезна для версионирования.

1 стартмани

11.08.2021    1128    4    Serg O.    3    

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5 Промо

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    9598    27    huxuxuya    11    

Универсальная отладка внешней обработки заполнения (типовые механизмы, без внешних файлов, расширений или вызова внешних файлов)

Обработка документов Практика программирования Прочие инструменты разработчика v8 ERP2 УУ Абонемент ($m)

Универсальная отладка внешней обработки заполнения табличной части документа (типовые механизмы, без внешних файлов, расширений или вызова внешних файлов). В обработке продемонстрирован универсальный подход, который позволяет делать отладку любой обработки заполнения табличной части документа. В обработке можно и нужно использовать типовой код формы документа с небольшими изменениями (для возможности отладки кода обработки).

1 стартмани

10.08.2021    1475    4    pvlunegov    0    

Разбор сайтов с применением Chrome devtools. Примеры от kuzkov.info

Практика программирования WEB Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Пример обработки-шаблона для веб-разбора сайтов с применением chrome devtools через веб-гнезда. Рассмотрение практического случая веб-разбора данных сайта с цитатами Пушкина. Плюсы применения обозревателя для веб-разбора перед получением и разбором голой строки html, полученной get запросом.

1 стартмани

06.08.2021    1713    1    Steelvan    6    

HTTP-клиент

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    4945    10    SpaceOfMyHead    29    

Проверка кода расширения (Все аннотации) на наличие изменений в основной конфигурации V 2.0

Прочие инструменты разработчика Расширения v8 Россия Абонемент ($m)

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

1 стартмани

28.06.2021    3625    22    con-men    6    

Проверка кода расширения (#Вместо, #ИзменениеИКонтроль) на наличие изменений в основной конфигурации

Расширения Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Все чаще начинаешь использовать в расширении аннотации #ИзменениеИКонтроль, и что говорить, даже аннотацию #Вместо). И как же быть спокойным, что после обновления заимствованные процедуры не изменились? Некоторые скажут, что платформа контролирует изменение процедур в аннотации #ИзменениеИКонтроль, но платформа нас научила на слово не верить. Каждый раз сравнивать модули руками довольно трудозатратно, для оптимизации этого процесса получилось следующее решение.

1 стартмани

09.06.2021    2354    5    con-men    7    

Шаблоны кода (управляемые формы)

Практика программирования Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблоны кода на управляемых формах.

2 стартмани

22.05.2021    3772    7    Rustig    19    

Консоль кода и дескриптор объектов

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Консоль кода и дескриптор объектов информационной базы под управляемое приложение.

5 стартмани

23.04.2021    2396    3    pimenushka    2    

Конструктор процедур для создания дополнительных реквизитов и сведений для Бухгалтерии 3.0

Прочие инструменты разработчика v8 БП3.0 Россия Абонемент ($m)

Конструктор предназначен для оперативного создания процедур, программно создающих дополнительные реквизиты и сведения объектов. Предназначен для использования в 1С: Бухгалтерии Предприятия 3.0. Может быть подключен в качестве внешней обработки. В конструкторе имеется краткая справка по использованию.

2 стартмани

22.04.2021    4870    4    roma_semenov79    0    

Вспомогательный инструмент для быстрого просмотра объектов метаданных и ролей

Прочие инструменты разработчика Структура метаданных Роли и права v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Просмотр содержимого объектов, движений, регистров, констант и прочего. Анализ роли по объектам доступа и наоборот объекта по ролям доступа. Интуитивно понятный интерфейс, универсальный (под любую, даже самописную базу), под обычные и управляемые приложения.

1 стартмани

22.04.2021    3089    10    user802597    1    

Отладка внешних печатных форм, когда не открывается даже временный файл

Универсальные печатные формы Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Отладка с помощью формы обработки, на форме добавляем реквизит Документ, для которого предназначена внешняя обработка. Затем командой вызываем нужный обработчик и отлаживаем в свое удовольствие. Написали и открываем как обычную внешнюю обработку, ставим точку остановки и жмем кнопку команды.

2 стартмани

20.04.2021    2112    5    Miracle180882    0    

Однопальцевое преобразование "одинэсного" запроса в запрос на SQL

Производительность и оптимизация (HighLoad) Прочие инструменты разработчика v8 v8::Запросы 1cv8.cf Абонемент ($m)

Обработка предназначена для преобразования "одинэсных" запросов в запросы на SQL средствами встроенного языка. Разработка не претендует на то, чтобы на 100% повторить то, что разработчики видят при трассировке запросов в инструментах вроде Profiler. Но во многих случаях результат преобразования можно будет без дополнительной ручной обработки выполнить, например, в Managment studio. Актуальные ограничения и проблемы преобразователя описаны в статье. Работает с версией платформы не ниже 8.3.10.

2 стартмани

17.04.2021    3285    8    kser87    12    

Свойства общих модулей

Практика программирования Прочие инструменты разработчика v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

14.04.2021    2476    4    kuzyara    5    

Отладка обработок с плюшками

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Расширение для отладки внешних отчетов и обработок. Плюшки - отключение “отвлекающего” функционала, мешающего процессу разработки.

1 стартмани

14.04.2021    3566    10    pparshin    1    

Мгновенное отображение HTML-страницы исходя из введённого HTML-кода

Прочие инструменты разработчика v8 Платформа 1C v8.2 1cv8.cf Абонемент ($m)

Обработка поможет найти ошибки в коде HTML и правильно отобразить создаваемый документ. Просто правьте код в нижнем поле и сразу получайте результат в верхнем.

1 стартмани

09.03.2021    2211    1    ilyam23    6    

Работа с My SQL через ODBC

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Работа с My SQL через ODBC. Разбираем базовые принципы соединения с MySQL и получения данных. Тестировалось на платформе 8.3.18.1208

1 стартмани

05.03.2021    2184    3    vov4ik1212    0    

Универсальный "сравниватель" объектов

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Сравнение реквизитов и табличных частей двух объектов 1С (справочники, документы), чтобы увидеть разницу в значениях.

1 стартмани

03.03.2021    3456    15    pyrkin_vanya    13    

Вспомогательные таблицы - универсальный инструмент хранения таблиц любой структуры (константы, параметры обработок и т.д.)

Прочие инструменты разработчика v8 Россия Абонемент ($m)

Данный механизм позволит: - Избавиться от поиска по номеру или коду. - Создать таблицу настроек. - Создать таблицу маппинга. - и многое другое... Ограничение одно - ваша фантазия.

1 стартмани

24.02.2021    4427    6    xl_yaz    12    

Создание и поддержка разных редакций (Demo, Lite, Pro и пр.) модулей, отчетов и обработок

Прочие инструменты разработчика v8 Абонемент ($m)

В статье предлагается один из возможных подходов к автоматизации создания и поддержки разных редакций (Demo, Lite, Pro и пр.) модулей, отчетов и обработок. Подход может быть полезным для авторов публикаций с коммерческими разработками.

1 стартмани

16.02.2021    2191    1    bme    2    

Генератор кода схемы компоновки данных (СКД)

Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Формирование кода для программного создания схемы компоновки данных (СКД)

1 стартмани

04.02.2021    8153    56    Sergspectr    39    

Автоматизированная очистка нетиповой конфигурации от //{{MRG

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Удаление //{{MRG из конфигурации автоматизированным способом.

1 стартмани

02.02.2021    2685    1    nemec    0    

Консоль текстов модулей для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

26.01.2021    3913    21    Reaper_1C    2    

Сравнение функций/процедур из расширения с функциями/процедурами из конфигурации

Прочие инструменты разработчика v8::УФ 1cv8.cf Абонемент ($m)

Обработка облегчает обновление функций/процедур в расширении, которые используют аннотацию &Вместо.

1 стартмани

18.01.2021    2652    5    Wilka    1    

DT2CF - Экстрактор конфигурации из дампа информационной базы

Сервисные утилиты Прочие инструменты разработчика v8 Абонемент ($m)

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

10 стартмани

21.12.2020    4058    6    SerVer1C    5    

FormCodeGenerator Программная доработка форм. Часть 1 (Режим работы "Палитра")

Практика программирования Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

14.12.2020    6093    76    huxuxuya    9    

Работа с сериализатором XDTO

Прочие инструменты разработчика Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

Отладочное расширение для просмотра объектов, преобразованных в XML, с помощью сериализатора XDTO, а также для выгрузки в xml.

1 стартмани

06.12.2020    3033    1    simon_sidoruk    5    

Обновление предопределенных данных

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Обновляет предопределенные элементы, созданные в конфигураторе. Тестировалось на платформе 8.3.15.1869

1 стартмани

01.12.2020    2769    8    user618575_VladimirGluhov.1c    2    

Отчет по Глобальным командам и Подпискам на события в конфигурации с возможностью отбора по Документам и Справочникам

Прочие инструменты разработчика v8 1cv8.cf Украина Россия Абонемент ($m)

Позволяет "посмотреть" все "подписки на события" и "глобальные команды" и при необходимости "отфильтровать" их по нужному объекту в конфигурации - "Документу" или "Справочнику". Поможет понять, где ещё может "обрабатываться" объект...

1 стартмани

23.11.2020    3227    4    AnryMc    5    

Шаблон расширения с функцией сохранения настроек

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Удобный механизм для быстрого создания сохраняемых настроек в расширении.

1 стартмани

20.11.2020    2368    0    pm74    1    

Расширение для создания собственных подсистем БСП

БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

В этой статье поделюсь некоторыми изысканиями о внутреннем устройстве стандартной подсистемы "Обновление версии ИБ" и расскажу, как разработать свою подсистему, в которой будет работать отчёт с описанием изменений.

1 стартмани

20.11.2020    7253    20    stas_ganiev    4