Псевдо-интеллект: два самодельных BSL псевдо-мозга играют в Тетрис

22.10.26

Разработка - Математика и алгоритмы

Статья даёт разработчику 1С практические шаблоны: - движок с физикой и перебором состояний - HTM-canvas внутри формы - линейные ИИ -агенты на BSL - обучение моделей без внешних библиотек - автоматизация тестов через COM - сложные интерфейсы в виде внешних обработок

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Тетрис слов для 1С: обработка, исходники и результаты опыта
.zip 52,29Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Два ИИ на 1С играют в Тетрис: ИНФОСТАРТ против ИНФОЛИМП

Обучила двух агентов на встроенном языке 1С собирать слова из падаюх фигур. На контрольной серии общий префикс «ИНФО» сохранился в 19 партиях из 100; целых слов оказалось ноль. Прилагается внешняя обработка: можно наблюдать состязание, играть самой (или самому) и запускать короткое обучение.

Ситуация:

Всё началось с научно-юмористической статьи о двух ИИ, которым досталось одно поле и разные названия. Затем появился неудобный исследовательский вопрос: можно ли приложить к статье работающую игрушку? Пришлось заменить выдуманные результаты журналом настоящего опыта. Академический пафос пережил замену. Некоторые гипотезы - нет.

О чём это (в трёх тезисах):

Движок, выбор ходов и обучение работают на BSL; HTML-поле управляемой формы рисует игру. Два агента делят первые четыре буквы и конкурируют за оставшиеся позиции. Обучение изменило промежуточные показатели, однако сборка целевого слова пока не получилась.

Отчёт о тестировании файла-компаньона:

Обработка проверена в тонком клиенте Windows на платформе 8.3.27.2130: открытие формы, партия ИИ против ИИ, управление человеком и обучение из формы. Контрольные серии по 100 партий выполнены через внешнее COM-соединение с файловой базой. Исходники, веса, JSON и инструкции входят в архив. Полноценная игра требует установленной платформы 1С; автономного EXE в комплекте нет.

Суть статьи:

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

Для кого:

Для разработчиков 1С, которым интересны HTML-поле, простые игровые агенты и обучение без внешнего Python-сервиса.

Аннотация: исследование взаимного размещения

Условный «Вестник вычислительной лексикографии», лаборатория NOPik. Научная пародия с приложенной обработкой.

Агент ИСТ-9 стремится собрать «ИНФОСТАРТ», агент ИЛП-8 - «ИНФОЛИМП». Они ходят по очереди на общем поле. Появление блока на нужной клетке засчитывается обоим участникам независимо от автора блока. Такая постановка сразу предоставляет материал для исследования коллективного вклада и личной отчётности.

Я реализовала агентов на встроенном языке 1С, обучила методом кросс-энтропии и сравнила ручные и обученные веса на новых сидах. Частота общего префикса выросла с 13% до 19%. В парном точном тесте Мак-Немара p = 0,2632; при уровне 0,05 различие статистически незначимо. Полных целевых слов в обеих контрольных сериях нет.

Ключевые слова: 1С, Тетрис, обучение агентов, метод кросс-энтропии, HTML-поле, корпоративные порталы.

Среда: шапка портала размером 40 на 24

За основу взята наша открытая разработка very-simple-tetris-created-by-Copilot. Из неё использованы геометрия фигур, идея поворотов со смещениями и генератор случайных чисел; текущий BSL-движок и буквенная задача собраны отдельно. Уведомление об авторстве и исходная лицензия MIT включены в комплект. В репозитории уже есть каталог 1c-enterprise с модулями для переноса; готовая обработка этой статьи имеет собственную управляемую форму и другую цель игры.

Обычного поля 10 на 20 мало: девять букв «ИНФОСТАРТ» шириной три клетки с восемью промежутками занимают 35 колонок. У «ИНФОЛИМП» восемь букв и 31 колонка. Поэтому поле расширено до 40 колонок и 24 строк. Нижние пять строк отданы под буквы, сверху остаётся 19 строк для фигур, которые редакция пока не смогла пристроить к содержанию.

Используются семь стандартных тетрамино: I, J, L, O, S, T, Z. Фигуры выдаются из мешка: каждый набор из семи содержит по одному экземпляру. Повороты нормализованы; совпадающие ориентации отброшены. Для поворота человека проверяются горизонтальные смещения 0, -1, +1, -2, +2.

Участники получают фигуры по очереди из общей последовательности. Начинающий определяется чётностью сида. Заполненная горизонталь удаляется, блоки выше сдвигаются вниз. Партия заканчивается после 160 зафиксированных фигур либо при переполнении. Сборка слова сама по себе партию досрочно не останавливает: результат вычисляется на конечном поле.

Рисунок 1. Окно тонкого клиента: агенты делят полосу букв.

Рисунок 1. Окно тонкого клиента: агенты делят полосу букв.

Для каждой буквы выделены три колонки, четвёртая оставлена промежутком. Оба слова начинаются в одном месте. Общие И, Н, Ф, О совместимы; дальше в одних позициях требуются С/Л, Т/И, А/М, Р/П. Последняя Т нужна только ИСТ-9. Поэтому итоговые слова целиком одновременно в одной полосе не помещаются по смыслу масок: одна и та же клетка должна оказаться и занятой, и пустой. Пространственный конфликт здесь встроен в постановку.

Шрифт: буква Ф проходит техническую приёмку

У буквы проверяется точное совпадение занятых и пустых клеток в окне 3 на 5. Цвет и владелец блока значения не имеют. Подписи над полосой помогают читать цели: общий знак фиолетовый, расходящиеся буквы синие и красные.

Обычный растровый шрифт оказался плохим техническим заданием. Пять исходных масок - И, Ф, А, Р, М - не собирались в принятой модели падения. В каждой я изменила одну клетку, затем проверила все 11 используемых букв поиском в ширину в tools/font_check.py.

И     Ф     А     Р     М
#.#   .#.   ##.   ###   #.#
#.#   ###   #.#   #.#   ###
#.#   #.#   ###   ##.   ###
###   ###   #.#   #..   #.#
#.#   ##.   #.#   #..   #.#

Проверка ищет последовательность фигур, падающих сверху в трёхколоночное окно, с запасом высоты над буквенной полосой. Для Ф найдена последовательность I, Z, L; для О - I, J, J. Это свидетельство существования построения отдельной буквы при подходящем порядке фигур. Вероятность появления нужного порядка и достижимость целого слова в конкурентной партии этим тестом не установлены.

У Ф появилась нижняя левая клетка, у А утолщилась верхушка. Комитет по типографике вынужден был уступить комитету по гравитации.

Архитектура: одиннадцать чисел вместо кафедры нейросетей

Агенты используют обучаемую линейную оценку следующего размещения. Здесь нет DQN, языковой модели или вызова внешнего ИИ-сервиса во время игры.

Управляемая форма 1С
  | команды, таймер, сериализованное состояние
  v
Модуль объекта на BSL
  + поле, столкновения, повороты, линии
  + генератор фигур и буквенные маски
  + перебор размещений и оценка 11 признаков
  + обучение весов методом кросс-энтропии
  | JSON-снимок
  v
HTML-поле: canvas, подписи и клавиатура
  | команда через скрытый DOM-элемент
  +------------------------------------> форма 1С

src/ObjectModule.bsl хранит движок, признаки, награду и обучение. src/FormModule.bsl создаёт форму и обрабатывает команды. src/game.html отвечает за canvas и передачу нажатий. При сборке HTML превращается в строковую функцию модуля объекта: для игры не нужен сайт с ресурсами.

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

оценка размещения = сумма(вес[k] * признак[k]), k = 0..10
выбранный ход = допустимое размещение с максимальной оценкой

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

На экране агент анимирует поворот и движение к колонке. Его модель хода допускает размещение сверху прямо в выбранной колонке: если анимированный путь блокируется, движок применяет рассчитанное размещение. Это упрощённый планировщик посадки; равенство его возможностей человеческому управлению не проверялось.

Награда: контент отдельно, показатели отдельно

Во время обучения оценивается конечное поле партии. Числа в таблице заданы вручную и остаются одинаковыми у обоих агентов.

Событие или состояние в конце партии Вклад в награду
Готовая своя буква на целевой позиции +10 за букву
Собран собственный префикс ИНФО +25
Собрано своё слово и чисты его пустоты/промежутки +500
Соперник собрал своё слово -200
Стакан переполнен -100 обоим
Занята нужная клетка своего шаблона +1 за клетку
Занята клетка, которая в своём шаблоне должна быть пустой -1 за клетку

Слагаемые суммируются. Например, готовая буква приносит и бонус за совпадение маски, и очки за занятые целевые клетки. Промежутки входят в штраф за порчу и в проверку полного слова; счётчик отдельных готовых букв проверяет только их окна 3 на 5.

BSL UTF-8 Открыть файл
1
2
3
4
Возврат 10 * Свой.Буквы + 25 * Свой.Префикс
    + 500 * Свой.Слово - 200 * Чужой.Слово
    - ?(С.Переполнение, 100, 0)
    + Свой.Клетки - Свой.Порча;

Это фрагмент функции Награда() из модуля объекта. Вектор из одиннадцати весов относится к выбору хода и обучается отдельно. Смена веса за линии не меняет таблицу конечной награды. Для корпоративного портала различие знакомое: публикация живёт своей жизнью, показатель эффективности - своей.

Методика: обучение и контроль разнесены

Я использовала поочерёдную оптимизацию двух агентов методом кросс-энтропии. В поколении одного агента соперник играет с текущим средним вектором своих весов. После обновления ИСТ-9 обучается ИЛП-8, затем начинается следующее поколение пары.

Для каждого агента: среднее = ручные веса, sigma = 2
Повторить 15 поколений:
    Для агента ИСТ-9, затем ИЛП-8:
        Сгенерировать 12 векторов из N(среднее, sigma)
        Добавить текущий средний вектор: всего 13 кандидатов
        Для каждого кандидата:
            Сыграть 2 партии против текущих весов соперника
            Оценить среднюю конечную награду
        Выбрать 3 лучших вектора
        Обновить среднее и sigma по элите
        Добавить к sigma шум 1 / (номер_поколения_с_нуля + 2)

Оба агента начинали с вектора 4;-6;-1;1;-5;1;15;-4;-2;-0.5;0.5. За 15 поколений выполнено 780 оценочных партий: 15 × 2 агента × 13 кандидатов × 2 партии. Лимит каждой - 160 ходов. Сид генератора кандидатов - 7. Сиды обучающих партий задаются выражением поколение * 1000 + номер_игры * 17 + 1: 18, 35, 1018, 1035 и далее до 14035.

Журнал evidence/train-log.txt заканчивается на 2044 секундах, то есть примерно на 34 минутах. Стенд: Intel Core i5-2400 @ 3,10 ГГц, Windows, платформа 1С 8.3.27.2130 x86, файловая база. Это время измеренного прогона; читателю оно не обещается.

Рисунок 2. Средняя награда кандидатов по журналу обучения.

Рисунок 2. Средняя награда кандидатов по журналу обучения.

Сиды и соперник между поколениями меняются. Поэтому линии на рисунке показывают журнал оптимизации. Независимую кривую качества на неизменном тесте по ним построить нельзя.

Первые 50 проверочных партий использовали сиды 1–50. Два из них, 18 и 35, участвовали в обучении, поэтому в основной результат я вынесла отдельную контрольную серию: 100001–100100. На каждом сиде сыграны два варианта - ручные и обученные веса. В обоих случаях лимит 160 ходов. Сравниваются итоговые поля; сохранённые JSON содержат строки полосы и агрегаты, полной трассы ходов в них нет.

Результаты: «ИНФО» есть, окончания пока на согласовании

Агент Веса Партий ИНФО в конце Целых слов Готовых букв Награда Вредительских ходов
ИСТ-9 Ручные 100 13 0 258 8344 0
ИСТ-9 Обученные 100 19 0 298 9499 6
ИЛП-8 Ручные 100 13 0 261 9669 303
ИЛП-8 Обученные 100 19 0 320 10333 270

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

Рисунок 3. Контрольная серия: общий префикс и число готовых букв.

Рисунок 3. Контрольная серия: общий префикс и число готовых букв.

Наблюдаемый прирост частоты префикса - 6 п.п. Парное сравнение показывает, что на 13 сидах префикс появился после обучения, а на 7 исчез. Точный двусторонний тест Мак-Немара даёт p = 0,2632. Этой выборки недостаточно, чтобы объявить устойчивое улучшение на уровне 0,05. Расчёт сохранён в paired-analysis.json и воспроизводится скриптом analyze_results.py из редакционного комплекта.

Переполнений не было ни в одной контрольной серии. Среднее время партии составило 2821 мс до обучения и 2775 мс после. Разница 46 мс получена без повторных замеров и контроля фоновой нагрузки; вывод об ускорении алгоритма по ней не делаю. Это время расчёта без анимации. Экранная партия длится дольше.

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

Поведение: как учитывается взаимный ущерб

Счётчики ходов разделены на три непересекающиеся категории. Если фигура попала хотя бы в одну свою целевую клетку, ход относится к строительству. Если своих клеток не добавилось, свои пустоты и цели не испорчены, зато засыпана или заполнена пустота соперника, увеличивается Вредит. Остальное попадает в Прочее. Поэтому 270 вредительских ходов ИЛП-8 - результат конкретного правила классификации, без психологического диагноза.

Ущерб возможен двумя способами: поставить блок туда, где в чужой букве должна быть пустота, или перекрыть сверху ещё незаполненную целевую клетку. В спорных позициях полезный одному блок способен затруднить сборку другого слова. Если при этом он попал в свою цель, счётчик назовёт его строительством. Так методика демонстрирует известное преимущество корректно выбранной формы отчётности.

После обучения у ИСТ-9 счётчик Вредит вырос с 0 до 6, у ИЛП-8 снизился с 303 до 270. Слово «миролюбие» пока оставим отделу связей с общественностью: журнал хранит агрегаты, и причин отдельных решений он не объясняет.

Рисунок 4. Готовность каждой целевой буквы к концу партий.

Рисунок 4. Готовность каждой целевой буквы к концу партий.

В обученной серии ИСТ-9 собрал С в 9 партиях, Т на шестой позиции в 15, А в одной, Р и последнюю Т ни разу. ИЛП-8 собрал Л ноль раз, И на шестой позиции один раз, М один раз, зато крайнюю П - в 45 партиях. Дальний слот стал его самой успешной частью индивидуального окончания. Объяснение через меньший конфликт выглядит правдоподобно, но для его проверки нужен отдельный опыт с разведёнными целями.

Ещё один эффект виден прямо в весах: коэффициент новых своих букв у ИСТ-9 изменился с 15 до 7,994, коэффициент очищаемых линий - с 0,5 до 5,231. Агенту не поручали беречь культурный слой. Утверждение, что он действительно чаще очищает линии, потребовало бы отдельного счётчика; текущая статистика такого вывода не даёт.

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

Игрушка для читателя и воспроизведение опыта

Внешняя обработка ТетрисСлов.epf открывается через Файл → Открыть в тонком клиенте. Проверена Windows-версия платформы 8.3.27.2130. Работа в веб-клиенте, на Linux и в других версиях платформы этим опытом не подтверждена.

Есть три режима: ИСТ-9 против ИЛП-8, человек за ИНФОЛИМП и человек за ИНФОСТАРТ. После щелчка по полю работают стрелки: влево/вправо - сдвиг, вверх - поворот, вниз - шаг вниз. Пробел - уронить, P или кнопка - пауза.

Рисунок 5. Режим человека: подсказка «пробел - уронить» в настоящей форме.

Рисунок 5. Режим человека: подсказка «пробел - уронить» в настоящей форме.

Кнопка «Обучить агентов» запускает короткий опыт из формы: 4 поколения, популяция 6 плюс средний вектор, элита 2, по одной партии на кандидата, лимит 120 ходов. Вычисления выполняются порциями на сервере; форма показывает прогресс между кандидатами. Это другой объём работы, его результаты нельзя подставлять вместо 15-поколенного опыта статьи.

Рисунок 6. Обучение из формы: прогресс короткого опыта.

Рисунок 6. Обучение из формы: прогресс короткого опыта.

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

Для расчёта без экрана в комплект включён tools/com_run.ps1. На нашем x86-стенде он запускается 32-битным PowerShell:

Powershell UTF-8 Открыть файл
1
2
3
4
5
6
& 'C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe' `
  -NoProfile -ExecutionPolicy Bypass `
  -File .\tools\com_run.ps1 `
  -Base 'C:\bases\tetris-stand' `
  -Games 100 -Seed 100001 -Limit 160 `
  -Out "$PWD\evidence\repeat-after.json"

Команду выполняют из распакованного каталога. База должна существовать; путь замените своим. Для серии «до» дополнительно передайте одинаковые ручные векторы в -W1 и -W2: 4;-6;-1;1;-5;1;15;-4;-2;-0.5;0.5. Для большого обучения параметры: -Action train -Gens 15 -Pop 12 -Elite 3 -Per 2 -Limit 160 -Seed 7. Полные команды и пути журналов приведены в README.

Игра и обучение работают на BSL. Python нужен разработчику для сборки обработки, проверки шрифта и построения графиков; для открытия готовой .epf он не требуется. COM-сценарий использует PowerShell и установленный COM-компонент платформы. Изменения конфигурации ради игры не нужны.

Итог

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

Научное основание для культурного превосходства одной площадки над другой не найдено. В порядке академического компромисса превосходство признано взаимным: обе стороны владеют словом «ИНФО», окончания направлены на дополнительное согласование. Корпоративному порталу такой исход должен быть понятен без перевода.

Статья подготовлена при участии ИИ: использованы помощь с кодом, обработкой данных и редактурой. Источником результатов служат сохранённые журналы и проверка обработки на платформе. Художественные сравнения со служебной перепиской к протоколу эксперимента не относятся.

 
Нинель Адольевна Щербакова
Нинель Адольевна Щербакова (Ninel_S)
Архитектор • SRE & DevOps инженер • HighLoad 1С
Автор технических публикаций на Infostart. Разработчик NOPik, SRE-Suite-for-1C и мультиагентных ассистентов для экосистемы 1С:Предприятие.

Вступайте в нашу телеграмм-группу Инфостарт

1С Тетрис ИИ BSL HTML-поле обучение агентов кросс-энтропия

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    92193    69    44    

77

Консолидация данных Работа с интерфейсом Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1C:ERP Узбекистан Беларусь Кыргызстан Россия Казахстан Платные (руб)

Знакомая ситуация? Пользователи, особенно менеджеры, уверены: отборов много не бывает. Идут пожелания добавить в форму списка еще один быстрый фильтр, еще два, еще пять... В итоге интерфейс превращается в нагромождение полей отбора, а потребность в «самом главном» отборе, который «вот прямо сейчас нужен», все равно не закрыта. Универсальное расширение, которое решает эту проблему элегантно и технологично. С его помощью в любую форму списка можно легко добавить панель настраиваемых кнопок-закладок, каждая из которых применяет сложный фильтр-запрос, а так же показывает актуальное количество элементов в реальном времени.

6088 руб.

17.10.2025    3625    3    0    

2

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36600 руб.

28.08.2025    10292    2    2    

6

Работа с интерфейсом Разработчик Стажер 1С:Предприятие 8 Бесплатно (free)

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

20.08.2024    57291    mrXoxot    44    

141

Работа с интерфейсом Разработчик 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    17923    kalyaka    8    

36

Работа с интерфейсом Разработчик 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    15265    AtamanovYS    19    

156

Математика и алгоритмы Разработчик 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Инкремент, модуль и прочая магия, которая скрыта под символом "?"

21.10.2021    51042    SeiOkami    45    

248

Работа с интерфейсом Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

5124 руб.

06.10.2020    14070    8    8    

14
Для отправки сообщения требуется регистрация/авторизация