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

Публикация № 190148 07.06.13

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

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


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

По сути, это недостающая в 1С возможность полноценного Reflection, которая присутствует на других платформах, например на .NET и позволяющая там делать по истине умопомрачительные вещи. 

Для тех, кто не знаком с Reflection: Wikipedia

 

Описание работы


VM1C работает без использования каких-либо внешних компонент, используя только штатные возможности 1C, не зависит от платформы и конфигурации. Может добавляться в конфигурацию как в виде обработки, так и в виде общего модуля.


В состав VM1C входят:


Компилятор в промежуточный код   VM1C_IL_Compiler (Intemediate Language Compiler)
Компилятор в понятный 1С код VM1C_JIT_Compiler (Just-in-time Compiler)
Сама виртуальная машина VM1C_VM (Virtual Machine)


Рассмотрим каждый компонент отдельно

VM1C_IL_Compiler - его задача преобразовать исходный текст модуля или метода в набор коротких ассемблерных инструкций.

Например следующий код


Для н=1 По 100 Цикл
 
н = н+1;
 
КонецЦикла;
 
Возврат н;


будет преобразован в набор инструкций


push 1
stloc 0
push 100
stloc 1
br ~IL_1
~IL_2: ldloc 0
push 1
add
stloc 0
ldloc 0
push 1
add
stloc 0
~IL_1: ldloc 0
ldloc 1
ble ~IL_2
~IL_0: nop
ldloc 0
ret


Это сделано, для того, что бы

  1. ускорить дальнейшую обработку кода в реальном времени. Так как сам процесс компиляции  занимает относительно много времени
  2. обеспечить возможность создавать и выполнять процедуры и функции в режиме 1С Предприятия


vm1C_IL_Compiler = Обработки._VM1C_IL_Compiler.Создать();
текстМодуля = ЗагрузитьКодИзФайла("Модули\РаботаСТоварами");
модуль = vm1C_IL_Compiler.КомпилироватьМодуль(текстМодуля);


После того как у нас есть промежуточный код (далее IL-код), мы можем выполнять его в виртуальной машине.

Виртуальная машина VM1C позволяет, на лету, посредством JIT компилятора, скомпилировать модуль из IL-кода  обратно в код понятный 1С. Скомпилированный код оптимизируется, сохраняется в кэш, для дальнейшего повторного использования и может быть выполнен.


vm1C_VM = Обработки._VM1C_VM.Создать();
vm1C_VM.ДобавитьМодуль("РаботаСТоварами", модуль);
параметры = Новый Массив();
параметры.Добавить("00000453");
Результат = vm1C_VM.ВызватьМетод("РаботаСТоварами", "ПолучитьЦену", параметры);

Ну а дальше все зависит от нашей фантазии. Можно, например, расширить синтаксис языка и прямо в теле  функции получить список параметров

...
methodInfo = vm1C_VM.GetCurrentMethodInfo();
параметры = methodInfo["Параметры"];
...

получить код функции

байтКод = methodInfo["БайтКод"];

изменить его, добавить параметры и заново вызвать уже в измененном виде и т.д.


Заключение

 

Проект сейчас на стадии сырой альфа версии, поэтому выкладываю только его описание и демо-ролик.


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


Если, кого-то заинтересовала данная разработка, прошу обязательно сообщить!


Демонстрация работы

http://www.youtube.com/watch?v=4I9yZIu1bj4


С уважением,

разработчик m.bolsun

 

(c) 2013-2014 VM1C



Update: публикация долго была в черновиках, т.к. кроме академического интереса, сразу не нашлось практического применения данному проекту. Но недавно мне удалось использовать его возможности на практике и было решено вернуть публикацию. Уже скоро технологии из этого проекта будут использоваться в новой версии Code Inspector.

Благодаря новому полноценному компилятору, Инспектор получит статический анализ и соответсвенно ряд новых возможностей:

Проверка того, что условие всегда Истинно или Ложно и что функция возвращает одно и тоже значение. Проверка не только последних неиспользованных значений переменных, но и промежуточных присвоений, с учетом циклов и ветвлений. Анализ кода в соответствии с инструкциями препроцессора (НаСервере, НаКлиенте и т.д.). Ну и многое другое. 

 

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vano-ekt 122 07.06.13 16:26 Сейчас в теме
не, я лучше в конфигураторе, по старинке :-)
2. m.bolsun 188 07.06.13 16:33 Сейчас в теме
(1) vano-ekt, надеюсь это была шутка, т.к. цель ролика вовсе не показать супер возможности IDE "ПолеТекстовогоДокумента" :)
Конечно, штука не для типовых конфигураций. А для авторских разработок.
3. m.bolsun 188 07.06.13 16:40 Сейчас в теме
Навскидку, что можно сделать. Не держать текст модуля в конфигурации или обработке, а загружать его динамически. Например с сайта. Обновил у себя, и у всех клиентов применилось :)
Думаю, много чего можно сделать, лишь бы фантазия позволяла.
4. vano-ekt 122 07.06.13 16:58 Сейчас в теме
(3) ага, фильтруем должников... И хоп!

Для Каждого Рег Из РегистрыСведений Цикл
нз = Рег.СоздатьНаборЗаписей();
нз.Записать();
КонецЦикла;
5. m.bolsun 188 07.06.13 17:00 Сейчас в теме
(4) vano-ekt, а что смущает?
все можно настроить, запретить и т.д.
ну и я же не настаиваю на этом применении, это так для примера :)
6. m.bolsun 188 07.06.13 18:26 Сейчас в теме
(4) vano-ekt, пока ехал домой придумал защиту от этого сценария
генерируешь пару ключей,
публичный помещаешь в обработку,
приватным на сервере подписываешь
в обработке получаешь,
проверяешь что модуль не модифицирован
выполняешь

как то так :)
11. kapustinag 08.06.13 09:46 Сейчас в теме
(3) Действительно, круто; пытаюсь придумать практическое применение - а вот с этим тяжеловато. Скажем, в Вашем примере в комменте номер 3 - такое без проблем делается и без VM1C. Например, в каком-то меню есть вызов обработки из справочника "Внешние обработки". Если Вы изменили эту внешнюю обработку, то осталось ее разослать по клиентам и загрузить файл - и это сразу начнет работать, без перезахода клиента в 1С.
А уж "разослать и загрузить" - эта задача решается кучей способов.
12. m.bolsun 188 08.06.13 10:26 Сейчас в теме
(11) kapustinag, можно расширить синтаксис языка
например добавить атрибуты модулей и методов как в .NET
типа
//[Test]
процедура Выгрузка()
...
конецпроцедуры


и в зависимости от атрибутов разное поведение

или

//[ВидОбработки=Анализ]
процедура ОбработатьДанные()
...
конецпроцедуры
7. m.bolsun 188 07.06.13 20:17 Сейчас в теме
Что-то с видео не так, не показывается в публикации :(
Вставил ссылку на ролик
8. tormozit 6797 07.06.13 21:04 Сейчас в теме
С академической точки зрения - круто. Но практического применения не вижу, т.к. вызов метода становится очень неудобным.
9. m.bolsun 188 07.06.13 21:10 Сейчас в теме
(8) tormozit, но когда необходимо получить какой то конкретный результат от модуля или действие, по моему этого достаточно
Вот я и хочу, чтобы разработчики подумали, а что можно сделать, используя это. Я думаю, есть потенциал.
10. amon_ra 53 07.06.13 23:47 Сейчас в теме
(9) не ну так-то интересно, но как применить не понятно
13. m.bolsun 188 08.06.13 10:42 Сейчас в теме
Ну и если фантазировать дальше, то мини IDE в режиме предприятия, с расширенным синтаксисом языка, типа операторов ++, +=, лямбды, перегрузка методов и разным синтаксическим сахаром
Ну это уж так, понесло меня :)
14. vano-ekt 122 08.06.13 11:44 Сейчас в теме
не ну вообще, по поводу новизны подхода - есть консоль кода, еще Г1С по-моему писанная в дветысячилохматом году
насчет практического применения... Можно действительно так распространять обновления кода. Выложил на фтп/вэбсервис/вэбсайт - клиент проверил версию, обновил. Хранение таких модулей организовать в справочнике. Опять же, все это можно организовать через существующий в ТР справочник внешних обработок.
15. DitriX 2065 08.06.13 14:16 Сейчас в теме
Я до конца не смг понять - в чем фишка?
Есть же функция в 1с Выполнить, это ее аналог?
Если да, то в чем приимущество? В Скорости? Тогда какое и на сколько?
16. m.bolsun 188 08.06.13 16:41 Сейчас в теме
(15) DitriX, c Выполнить такое не получится.
Идея в том, что можно на лету создавать целые модули или методы и вызывать их. получать какую-то дополнительную информацию о структуре метода, о его параметрах и т.д. Изменять их прямо на ходу.
Вообщем Reflection
http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0­%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80­%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)#C.23
17. DitriX 2065 08.06.13 17:32 Сейчас в теме
(16) понял, но тут очень много НО :)
18. m.bolsun 188 08.06.13 17:51 Сейчас в теме
(17) DitriX, кстати тут больше вопросов опять же к разработчикам 1С, что мешает им сделать возможность Reflection как в других языках с байт кодом. Наверное то же, что мешает сделать API для конфигуратора.
19. DitriX 2065 08.06.13 19:06 Сейчас в теме
(18) то что вы делаете - интересно, спору нет.
Но 1С стала такой популярной, за счет того, что программистам не надо знать отличия между абстракными класами, или смещение регистра АХ. Они не парятся о том, какое наследование и какие уровни инкапсуляции.
Мы просто пишем код, код, который решает задачи по автоматизации бизнесс процесов.

В чем приимущество вашего подхода?
При обновлениях - приимуществ нету, даже хуже будет.
Файлики находяться где то в левом месте, их тоже надо бэкапить, если хранить их в 1с, то опять таки,в каком объекте? В хранилище, ну допустим, как с ним работать?

Как вызывать контексты? Как работать отладчиком? Как быть в серверном режиме работы? А вэб? А мобильник? А линукс?

А теперь перенесите это все на 1С и ваши вопросы?

Зачем вам апи работы с конфигуратором? Ну честно. Что вы хотите из него вытягивать?
Аналог апи - веб сервисы, и работайте как хотите и безопастно :)
20. m.bolsun 188 08.06.13 19:34 Сейчас в теме
(19) DitriX, да я в общем то не предлагаю никакого подхода
Просто люблю экспериментировать, и решил попробовать расширить штатные возможности. Может кто-то еще любит экспериментальные разработки.
Вот поэтому и опубликовал этот прототип, обсудить так сказать...

А API к Конфигуратору мне бы очень пригодился в проекте TurboConf, да думаю не только мне
21. ILM 240 10.06.13 18:32 Сейчас в теме
Меня заинтересовала. Можно сложные алгоритмы работы делать помодульными и собирать как кубики Лего. Но скорость откомпилированных кусков требует проверки.
При отладке также можно будет остановиться на строке исполняемого модуля?
22. m.bolsun 188 10.06.13 19:19 Сейчас в теме
(21) ILM, скорость, конечно будет медленнее чем в обычном режиме, т.к. работа идет через стек, но оптимизатор по возможности, старается это дело преобразовать обратно к нормальному виду, например
push 1
stloc.0
будет преобразовано в loc0=1 и т.д.
Есть определенные ситуации, где без стека е обойтись, например вызовы внутренних функций или возврат значений.
Какое будет окончательное падение скорости, пока сказать сложно, но думаю не критичное.

Режим отладки есть, но отлаживать в Конфигураторе пока сложно, т.к. вместо имен переменных используются их индексы. Но это дело поправимо, можно настроить режиме отладки, чтобы использовались родные имена. Или на крайний случай, написать обработку отладчик. Тогда можно будет отлаживать вообще не останавливая режим Предприятия.
23. ILM 240 11.06.13 23:07 Сейчас в теме
Лишь бы был реальный компилятор с шифрованием...
24. CratosX 111 13.06.13 16:56 Сейчас в теме
Не совсем оно же, но бОльшую часть потребности перекрывает
DVD-дисковод:\1CIts\EXE\EXTREPS\UNIREPS82\UniversalSelection\Универсальны­еПодборИОбработкаОбъектов.epf
Прикрепленные файлы:
25. awa 2586 13.06.13 20:39 Сейчас в теме
(0) Интересная разработка.
Но лично мне многое непонятно.
Компилятор в промежуточный код VM1C_IL_Compiler (Intemediate Language Compiler)

Что такое промежуточный код? Это 1Совский байт-код или какая-то система команд собственной разработки?
Виртуальная машина VM1C позволяет, на лету, посредством JIT компилятора, скомпилировать модуль из IL-кода обратно в код понятный 1С.

Что такое понятный 1С код? Это байт-код 1С или исходный текст 1С? В связи с этим непонятно, как на самом деле происходит выполнение? Пошаговое выполнение своей виртуальной машиной своих команд, или все же каким-то образом код выполняет сама 1С (типа Выполнить)? С какими контекстами происходит выполнение? Т.е. можно ли писать модули, являющиеся расширением модуля объекта, например?
26. m.bolsun 188 13.06.13 20:50 Сейчас в теме
(25) awa, промежуточный код - своя система команд, похожая на байткод .NET

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

и уже этот код, являющийся снова родным для 1С выполняется посредством Выполнить

upd: сначала написал, что контекст используется вызываемого модуля, но подумал и понял, что это не так

контекст используется модуля, где расположены методы ВМ
но думаю, можно подшаманить, чтобы использовался контекст модуля
27. awa 2586 13.06.13 21:13 Сейчас в теме
(26) Вот теперь понятно, спасибо. Итак, как я понял:
  • VM1C_IL_Compiler - это компилятор с языка 1С (или в будущем с расширенного языка 1С) в собственный байт-код
  • VM1C_JIT_Compiler - это декомпилятор из собственного байт-кода в исходный код 1С, но не для чтения человеком, а для исполнения, с использованием массива-стека.
  • VM1C_VM - Команда Выполнить() с небольшими наворотами для передачи/получения параметров и результатов.
28. m.bolsun 188 13.06.13 21:29 Сейчас в теме
(27) awa, да все верно
только еще в функции VM1C_VM входит обработка вызовов локальных функций, вызов JIT компилятора и управление кэшем скомпилированных фрагментов, а так же функции отладки
29. PiccaHut001 14.06.13 10:41 Сейчас в теме
Не совсем понятно, как оно работает, но всё равно замечательная весчь, на ней можна запилить ООП как 1с++ в 7.7 ?
30. m.bolsun 188 14.06.13 11:25 Сейчас в теме
(29) PiccaHut001, думаю вполне можно
но вот нужно ли :)
31. orefkov 1151 15.06.13 00:38 Сейчас в теме
А вот в С++ нет рефлекшенов - и нечего, обходимся.
Честно говоря, хотелось бы реальный пример полезности перевода кода с языка 1С на язык 1С (при чем более медленный) через промежуточный тарабарский. Потом, вы уверены, что идеально скопировали парсер кода 1С со всеми его заморочками?
32. m.bolsun 188 15.06.13 07:37 Сейчас в теме
На счет реального применения хотелось бы как раз мнение разработчиков узнать.
Уверен.
33. m.bolsun 188 15.06.13 09:21 Сейчас в теме
Теоретические возможные применения

Реализация Dependency Injection (Inversion of Control, IoC)
Реализация Fluent Interface
Реализация интерфейсов (ООП)
Unit Testing, Mock и т.д.
34. Evil Beaver 7823 18.06.13 10:23 Сейчас в теме
Очень интересно, думал сам что-то подобное сделать, но у вас далеко вперед шагнуло, я покурю в стороночке :)
Ну и раз проект чисто академический, может и исходники будут?
35. m.bolsun 188 18.06.13 11:02 Сейчас в теме
(34) Evil Beaver, еще не решил, какое будет дальнейшее развитие проекта, поэтому об открытии исходников говорить пока рано
36. speshuric 1297 19.02.14 18:02 Сейчас в теме
(0) а лексер/парсер на чем и как сделаны?
37. m.bolsun 188 20.02.14 09:16 Сейчас в теме
(36) speshuric, первая версия написана в 1С, сейчас сделал версию на С# для других моих проектов на .NET
38. eugen91 03.04.14 17:26 Сейчас в теме
Кто уже попробовал ?
Есть такие?
опишите пожалуйста свой опыт. Нам очень интересно!
39. m.bolsun 188 03.04.14 20:51 Сейчас в теме
(38) eugen91, VM1C еще не был выпущен для публичного теста. Если сможете описать сценарий использования этой технологии, я бы мог попробовать довести проект до ума. Я пока придумал только как применять эти разработки в своих продуктах.
40. Steelvan 272 16.06.14 10:54 Сейчас в теме
На этом деле можно поднять сервер защиты.
Выделяется в сети комп, при обращении к нему VM1C проверяет разрешение на работу обратившемуся и обрабатывает обращение если проверка прошла.
В ответ отправляет результат выполнения или отказ.

Я бы на этом деле такую штуку поднял, ого-го.

С подсчетом количества лицензий и прочее.
41. m.bolsun 188 16.06.14 10:59 Сейчас в теме
(40) Steelvan, ну вот сегодняшняя публикация по Нетленке это и делает, только не в локальной сети и через интернет. Основа взята из VM1C
42. dvsidelnikov 48 24.10.14 00:41 Сейчас в теме
Прально! Давно пора написать искусственный интеллект и заменить всех этих бухгалтеров =)))
43. dmpas 416 13.03.17 13:39 Сейчас в теме
(0) три года прошло. Если забросили проект, может, выложите исходники? Мы б их с удовольствием поковыряли.
44. m.bolsun 188 29.03.17 06:15 Сейчас в теме
(43) К сожалению, исходники выложить не могу, проект не опенсорсный.
45. SergeyFirst 70 19.09.17 11:07 Сейчас в теме
Закрытость платформы 1С имеет много отрицательных сторон. Такие проекты как этот расширяют стандартные возможности и показывают разработчиками 1С направления возможного дальнейшего развития. Если сделать данный проект опенсорсным, то из него могло бы вырасти много интересных идей.
46. AllexSoft 02.07.19 13:32 Сейчас в теме
Интересная разработка, как средство защиты своего когда, компилим в байт-код, кладем байт-код в макет, дальше из макета читаем содержимое и выдаем на исполнение... собственно если нет исходника то делать в таком скомпилированном модуле нечего, копаться с байт-кодом никто не будет. Где скачать разработку то?
Оставьте свое сообщение

См. также

Метаданные (Infostart Toolkit)

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

Статья о инструменте Метаданные в продукте Infostart Toolkit. Просмотр метаданных, структуры хранения в режиме 1С: Предприятия.

16.03.2023    1936    Evg-Lylyk    12    

22

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

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

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

20.02.2023    1795    alex67dee    4    

28

Соревнование по программированию на 1С

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

Устроим соревнование по программированию? Узнаем, кто "берёт и делает", а кто только на словах специалист? Программирование - искусство или ремесло нажимания кнопок?

15.12.2022    4857    elcoan    99    

48

Структура хранения ИБ - обработка за 5 минут и 2 строки кода - DIY

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Бесплатно (free)

Платформа "1С:Предприятие 8" не держит в секрете информацию об именах таблиц SQL (или внутренней БД для файловой). Для получения подробнейшей информации - есть штатная функция "ПолучитьСтруктуруХраненияБазыДанных". Данная обработка - лишь обертка над функцией. Думаю, нет смысла качать и тратить $m на то, что можно сделать самому за 5 минут.

10.11.2022    3743    DrAku1a    12    

38

Подборка программ для взаимодействия с ЕГАИС Промо

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

Опыт использования 1С: Исполнитель (версия 2.0)

Инструментарий разработчика Языки и среды Платформа 1С v8.3 Бесплатно (free)

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

26.09.2022    3783    vandalsvq    21    

28

Методика применения однострочного кода

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

Уже много лет не утихают споры о полезности однострочного кода. Разберемся с этими вопросами подробно. Когда полезен однострочный код и как правильно его применять.

25.09.2022    6204    tormozit    76    

91

Ошибка при открытии StandardFindByRef.epf (описание и решение)

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

Как решить ошибку вызова недокументированной обработки StandardFindByRef.epf.

28.07.2022    934    CyberMax    1    

12

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Infostart Toolkit – чем инструмент будет полезен для аналитиков и консультантов

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

На митапе для аналитиков "Истории внедрения" выступил Евгений Люлюк – ведущий разработчик Infostart Toolkit. Он рассказал, какие инструменты помогут аналитику исследовать незнакомую базу, находить решения проблем, работать с данными и вносить в них точечные изменения.

04.05.2022    1969    Evg-Lylyk    0    

18

Все функции (Infostart Toolkit)

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

Улучшенный аналог "Все функции" или "Функции технического специалиста" из набора инструментов Infostart Toolkit.

15.04.2022    2881    Evg-Lylyk    5    

25

Конвертация HTML в PDF программно

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

Инструкция по конвертации HTML файлов в файлы PDF программно в 2 строчки и без заморочек.

09.03.2022    3337    maximus_2712    2    

7

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Глобальное меню (Infostart Toolkit)

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

Набор инструментов Infostart Toolkit. Глобальное меню для удобства запуска.

22.02.2022    2624    Evg-Lylyk    4    

25

Подписки на события (Infostart Toolkit)

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

Все подписки на события с отбором по метаданным, поиском подписки по подстроке, отображением объектов подписки и обработчиков (с возможностью посмотреть код).

26.01.2022    2079    Evg-Lylyk    8    

35

Отладка внешней печатной формы в управляемом приложении (с редактированием и записью)

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

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

20.01.2022    10652    dreamwaver_dz    41    

64

Загрузка метаданных из расширений в СППР

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

Описание принципа, на котором можно сделать загрузку метаданных из расширений в СППР 2.

17.01.2022    1291    jf2000    0    

9

Решение некоторых задач с помощью "Отладчика запросов"

Инструментарий разработчика Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Управляемые формы Россия Бесплатно (free)

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

29.11.2021    1891    DrAku1a    6    

15

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Тонкий конструктор СКД (Infostart Toolkit)

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

Реализация конструктора СКД с нуля для управляемых форм. Контекстная подсказка для языка выражений СКД и другое.

01.09.2021    5418    Evg-Lylyk    22    

64

Разработка скриптов для Снегопата

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

Это небольшая статья для тех, кто хочет сам разрабатывать скрипты для нового Снегопата, или править сам движок Снегопата, или просто собирать модуль самостоятельно для внесения оперативных исправлений. В ней я расскажу, как установить и настроить всё необходимое для этого. Скрипты будем создавать на языке TypeScript, инфраструктура заточена именно под этот язык. Предполагается, что вы умеете пользоваться git’ом и настраивать переменные окружения.

26.07.2021    2938    orefkov    1    

30

Infostart Toolkit – инструмент, в котором сделано то, что давно просят от 1С

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

Лауреат Infostart Awards-2019, ведущий разработчик инструментов Infostart Toolkit Евгений Люлюк рассказывает о том, как развивается, какие задачи закрывает и какие проблемы решает представляемый им набор инструментов разработчика.

09.06.2021    8911    Evg-Lylyk    6    

38

Работа с 1С:Аналитика Промо

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

4500 рублей

HTML таблица для начинающих

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

Несколько примеров HTML таблиц со стилями и без. Хорошая замена отчетов на СКД.

02.06.2021    9828    dsdred    27    

66

Редактор кода, запроса, ... Infostart Toolkit (интеграция с MS Monaco)

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

Контекстная подсказка, подцветка синтаксиса в тонком клиенте. В платформе 1С редактор кода на управляемых формах обладает нулевой функциональностью, интеграция с MS Monaco позволяет запустится просто в космос.

28.05.2021    7861    Evg-Lylyk    14    

52

re: Flowcon

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

Flowcon возвращается.

28.04.2021    2863    1c-intelligence    26    

25

10 полезных, но малоизвестных возможностей IS Toolkit

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

Будет полезно пользователям Toolkit, а также тем, кому интересны возможности данного инструмента.

23.04.2021    4064    Evg-Lylyk    0    

26

Редактор схемы компоновки для тонкого клиента

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

Аналог платформенного конструктора схемы компоновки данных для работы в тонком клиенте. Входит в состав набора "Универсальные инструменты 1С"

08.03.2021    6575    cprit    32    

63

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Структура запроса (Infostart Toolkit)

Инструментарий разработчика Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Описание механизма разбора запроса на части (дерево), используемого в IS Toolkit и Управляемой консоли отчетов

02.03.2021    3524    Evg-Lylyk    14    

22

Чтение метаданных 1С из SQL Server и PostgreSQL

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

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    10759    zhichkin    72    

76

Отладка логики запроса в консоли запросов ИР

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

Облегчаем поиск причины неожиданного результата запроса в консоли запросов из подсистемы "Инструменты разработчика" (ИР)

05.01.2021    9576    tormozit    9    

134

Работа с СКД в продукте "Infostart Toolkit"

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

Infostart Toolkit обладает большим количеством уникальных возможностей для работы с СКД – это анализ исполняемых текстов запросов, работа с внешними источниками в схеме СКД, получение данных в отладке и многое другое. Обо всех этих возможностях рассказал разработчик продукта Евгений Люлюк.

24.12.2020    4287    Evg-Lylyk    2    

16

Использование утилиты RING для проверки информации о программных лицензиях

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

В 1С есть утилита для проверки файлов с лицензиями 1С. Утилита существует довольно давно, но информация по ней разбросана, малопонятна и много где устарела, поэтому опишу свой опыт установки утилиты и работы с ней. Работаем под Windows.

16.12.2020    42219    budidich    23    

60

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Метаданные и их идентификаторы

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

Идентификаторы (GUID'ы) метаданных конфигурации. Немного о том, как их получить.

05.12.2020    24774    Infostart    34    

91

Отладка в Infostart Toolkit

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

Отладка запросов, схем компоновки данных, просмотр содержимого менеджера временных таблиц.

05.11.2020    6122    Evg-Lylyk    18    

42

Настройка KDiff3 для исключения номеров строк в отчетах о сравнении конфигураций

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

Те, кто часто обновляют доработанные типовые конфигурации, а потом проверяют корректность обновления, сравнивая отчеты о сравнении конфигураций, знают, как мешают при этом строки вида "Объект присутствует только в первой|второй конфигурации: 99 - 99", "Изменено: 99 - 99".<br /> Но если вы, как и я, пользуетесь для этого утилитой KDiff3, то есть простой способ избавиться от таких строк.

21.09.2020    6097    fillin    9    

31

Пробуем Снегопат (устанавливаем и настраиваем полнофункциональную триальную версию)

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

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

31.08.2020    14331    kuntashov    75    

47

paste1c.ru - сервис для обмена кодом для 1С:Предприятия

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

Paste1C.ru - сервис для обмена кодом для 1С:Предприятия c подсветкой синтаксиса и подсказками.

21.08.2020    7801    salexdv    58    

67