📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Быстрое прототипирование в 1С: Как "Накидка" ускоряет разработку

Мир 1С (Сергей Сыпачев)52:24

Transcription

Так, я запись снова включил, да, Zoom пишет. Ну, то есть, если ты ему, грубо говоря, об этом скажешь, и он даже в определённой части там какой-то маломальский там монтаж делает, он переключает между спикерами это всё, поэтому как бы он он лучше, но, ну, в смысле, проще, но беда в нём в том, что он теряет у него идёт потеря качества. Я пробовал на нём, мне качество там не нравится. Вот. А сейчас пробую телемост. Ну, посмотрим, что у нас будет с телемастом.

Ну, ладно, что давай мы с тобой будем начинать, да? Давай. Друзья, всем привет. Меня зовут Сергей Сыпачев. Сегодня у меня в гостях Никита Жеребцов. И Никита, привет.

Всем привет. И сегодня мы с Никитой обсудим его подделку под названием Накидка. Это такая штука, которая позволяет достаточно быстро, а создавать, разрабатывать и дорабатывать формы на платформе 1С. Вот, Никит, начала сначала по традиции я тебя попрошу себе рассказать, э, значит, как ты попал в 1С. Что ты там делал? А, и чем в итоге ты сейчас занимаешься?

Да, хорошо. Я начал свой путь в Одинске к году в 2006. То есть я и раньше занимался разработкой. Ну, это был там типа Паскаль, Делфи, что-то такое. Помню, что я даже делал программу по учёту смертности населения вот в городе, где я аа жил. А, но вот, да, в шестом году я начал искать работу. Нашёл первый случай, который мне предложили, это было, что связано с переключением каналов ночных, но там оказалось, что человек, который уходит, он раздумал оттуда уходить. И вот вторым вариантом у меня был вариант пойти в Одинску. Я вот его выбрал, можно сказать, и в ней остался. пробул в этой фирме, в которой франчайзи лет восемь, потом отделился, сделал ЕП и вот года три назад уже сделал вот ООО, типы, где я сейчас работаю. И это франчайзинговая компания.

А, то есть это у тебя компания франчайзи. Скажи, сколько вас народу и на чём вы специализируетесь?

Угу. Да. Аа у нас где-то пять человек сейчас, потому что сейчас у нас ещё будет, надеюсь, прибавление. А мы большей части специализируемся на работе с высшими учебными заведениями. То есть вот полный комплекс обслуживания, бухгалтерские программы, зарплатные программы, один из документооборот, 11 университета, специализированная программа для вузов. Ну и там всё, что может быть ещё рядом, да, что-то вроде в комбинатах, в питании или в фитнес-центрах или что-то вот такого. Ну и отчасти мы работаем ещё с производственными предприятиями, ну в меньшей степени. А вот та самая накидка, о которой мы с тобой сегодня будем говорить, я так понимаю, все сотрудники у тебя пользуются этим инструментом.

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

Давай мы сейчас с тобой поговорим про вообще, как этот инструмент родился, да? Вот про само прототипирование. А у меня тоже есть история. Я в своё время делал сервисдеск, ну как не делал сервисдеск, я его разрабатывал с точки зрения именно прототипа. И мне предстояло расписать экранную форму у этого приложения. У меня их получилось порядка 100 штук. Ну, больше-то. У меня, кстати, до сих пор где-то этот проект хранится. И я понял, что именно вот в таком подходе, да, когда ты именно делаешь это через форму, когда ты описываешь поведение системы именно с точки зрения формы, и это у тебя получается центральный инструмент описания, а к нему ты там уже потом добавляешь текст, да? То есть по тексту пишешь: "А как это? Что будет у тебя работать? Что, зачем? Когда стрелочка от одной формочки идёт к другой формочке, как это взаимосвязано между собой?" То есть, ещё раз, центральный инструмент - это форма. Если мы посмотрим там на технологии корпоративного внедрения, да, от фирмы 1С, классный инструмент, там с точки зрения больше функций, бизнес-требований и так далее, там, а, про формы есть, вот, но они не занимают такое центральное положение вот в твоём решении в том числе, да, и там тем, чем я пользовался раньше с точки зрения именно прототипирования центральным инструментом, а, выступает именно форма. Вот когда ты к этому к этой задаче вообще подходил, чем ты пользовался? И вот как ты вообще дошёл до накидки?

Слушай, ну я с тобой соглашусь, на самом деле, вот этот подход от форм, да, что он это просто один, да, из таких способов, но он достаточно, мне кажется, тоже интересный, и мы тоже к нему подходили, да, долго, что всё-таки исходить не от не только от бизнес-процессов, конечно, мы тоже рисуем BPMN схемы и вот подобные истории, но именно от того, с чем сталкивается наш заказчик, да, человек, который будет уже с этим работать. А он там сталкивается с печатными формами, сталкивается с отчётами, иногда он сталкивается с апией, но большей частью он работает именно с экранными формами. Для него это понятный язык, да, что он в итоге получит. Это язык того, вот как даже не знаю разделить, кто что будет делать внутри организации. А для наших клиентов это часто бывает важно. И инструменты, которые мы использовали, ну, я думаю, что они такие общеизвестные. Это Баласмик, это Draw, это кер. В последнее время мы как раз пользовались мейкером. Хороший инструмент, так много форм на нём сделали, но в нём, да, вот были определённые ограничения, мм, в основном связанные с таблицей. И вот, чтобы какие-то вот обойти это всё сделать, вот я решил сделать накидку.

Самый, да, смешной сейчас йкер сделал очень хороший редактор таблиц. Ты вот вспомнил про бальзамик. Я его бальзамик называл, да. Этот инструмент, он тоже очень удобный. Он тоже удобен был чем. Я, кстати, на нём вот эти 100 форм отрисовал, но больше чем там можно было после того, как формочку нарисуешь, выгрузить его в текстовый файл, условно, куда-то там положить, потом, если тебе нужно будет обратно загрузить. Вот мне вот этот подход очень понравился. То есть, когда ты хранишь именно это в тексте, у тебя это тоже текст. Ну, сейчас мы вообще вернёмся к твоему инструменту, ты расскажешь, как с ним работать. Ну, если вот в базе стоит текст, это значит сюда можно прикрутить Git, сюда можно прикрепить, если захочешь, там, тра-та-та какой-то, значит, пайплайн. Вот. То есть вот эта вот штука, когда она живёт в тексте, она достаточно много тебе, а, предлагает э возможностей. Ты опять же сегодня, я думаю, нам рассказываешь и про яишку, а она тоже работает с текстом. Вот. Давай, значит, сейчас подойдём к задумке. То есть, ээ, основная задумка вот этого решения, что вообще решает накидка?

Основное, наверное, отличие от многих других средств вот этих фототипирования. В общем-то, это вынужденная мера, да, для меня была, потому что Одиска плохо делает перетаскивание элементов, да, что в общем, нужно в системах прототипирования. Это идея того, что мы пишем некий текст, да, некий текст, похожий на форму, и этот текст превращается в прототип формы. Я тогда предлагаю сейчас что сделать? Я тебе предлагаю сейчас расшарить экран, и давай уже на примерах посмотрим, как эта штука работает. Для начала я расскажу, где как можно скачать накидку. Она, в общем, у нас расположена на гитхабе, пому что для многих знаком этот ресурс в разделе релизы. Нажимаем на него и тут у нас будет кнопка скачать накидку. Нажимаем. Это внешняя обработка, её не нужно ни устанавливать, ничего. Мы просто заходим в пользовательскую часть. Давайте скрыл и нажимаю и открываем. Вот она у нас такая. Это её экран.

Сейчас я покажу, как она действует. Никита, тут какой ещё важный момент, да, она тоже об этом сказать, что мы сразу с тобой за кадром договорились, что ты сейчас будешь показывать некоторые новые инструменты, которые, возможно, ещё в релиз не вошли. Так что, ребят, рассчитывайте на это, да? То есть через некоторое время только в релизах появятся некоторые функционал. То есть сейчас я просто покажу на самом простом примере, на примере флажка. Добавляем признак флажка. Он может быть многим знаком по по маркдау. И нажимаем сформировать. И у нас появляется прототип формы с одним флажком. Это настоящий одиносовский флажок. Вот мы его взводим. Мы даже можем передать значение этого флажка обратно в прототип.

То есть, Никита, смотри, что получается. Ты условно можешь как-то формочку дозаполнить, потом вернуть её обратно обратно в формат подробный маркдаун, правильно? Да. То есть у тебя сразу будут заполнены некоторые поля именно в тексте. Да. Да. Это двухсторонний обмен. Он прямо очень полезен для таблиц. Вот самое, наверное, для чего вот его с флажками, наверное, это не так полезно, но вот с таблицами это начинает играть роль. Это сильно упрощает, да.

Тоже надо здесь делать и говорку, да, коллеги, что вот тот язык, который показывает Никита - это язык похожий, сильно похожий на Маркдаун, как я понимаю. Никита, ты за основу взял его, да, из-за простоты. Да, да. Мне очень понравился Маркдаун тем, что он очень читаемый. То есть, смотря на текст на маркдауне, в принципе, понимаешь, да, что вот это таблица, а это параграф, а это, не знаю, код. Не сохраняя совместимости с Маркдауном, я постарался, для меня было важно как раз сделать визуальность, да, что если вот это выглядит так, то это похоже на флажок, то это есть флажок. Если это похоже на поле ввода, у поле ввода мы там посмотрим на или на таблицу, то это будет таблица. Даже принося в жертву, например, удобство редактирования. Ну вот всё, флажок я показал. А сейчас мы попробуем сделать форму справочника договоры, но сделаем её с графиком платежей, чтобы мы посмотрели ещё на таблицу. А перед этим я покажу конфигурацию, в которой мы будем работать. Нам это понадобится для более поздних шагов, когда мы уже там дойдём до передачи этой формы куда-нибудь. У меня есть очень простая конфигурация. Она состоит из двух справочников: контрагенты и договор. Ниформ, ничего нет. Вот, вот вся форма очень простая. Нам просто она потом понадобится для понимания того, что мы делаем. Всё, мы делаем форму справочника долговоры. Заходим в чат, это яишный чат, он, потому что не сильно отличается от прочих других чатов. И просим яишку сделать нам форму. Мы, конечно, здесь можем писать какие-то более подробные вещи, да, какие поля мы хотим, в каком виде. Можем отправлять какие-то уточняющие вопросы. Сейчас она подумает. Вот она нам выдала какую-то форму, более-менее форму. Можно её взять за основу. То есть мы по ней дважды щёлкаемся. Можем, в принципе, её попросить там что-нибудь добавить или убавить, да? Это тоже мы можем сделать через чат. Какой поле можно тут добавить для договора?

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

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

А промто у тебя в самой обработке? Ну я думаю, что мы до этого дойдём потом до внутрянки ты покажешь. Да. Да. Он на гитке выложен. Он фактически открытый. Да-дада. То есть тут ничего такого нет. Я пока не сильно за него как бы заморачивался. Тут его можно, я думаю, что значительно улучшить, чтобы, по крайней мере, вот такие вот мелочи он обходил. То есть это это он точно сможет. Возможно, какие-то вещи ему будут недоступны, но это как раз поскорее просто недостаток самого промта, чем проблемы с нейросеткой. То есть можно попробовать ещё варианты, например, да, делать лучше. Это тоже, кстати, он сделал табуляцию плохую.

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

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

Да, да,вай пока сейчас отключу вот эту штуку, чтобы она не занимала так много экрана, и просто пройдёмся чуть-чуть по тому, что у нас получилось. А так, ну, первое - это у нас просто заголовок. Вот какой-то нам придумал заголовок. Это вот эта часть. Второе - это кнопки, да? Ну, у него понятно, да? Это стандартные кнопки справочника. записать, сыкрыть, записать. Мы к ним ещё вернёмся. Я их буду дорабатывать, скорее всего, каждый там, чтобы просто сейчас мы обсудим. Дальше у нас идут страницы. Ну, тут я думаю, что визуально понятно, да? Одна страница, вторая страница и поля ввода. Поля ввода у нас отличаются вот этим знаком. Ну, я думаю, что все, кстати, работает, знают, что везде эти твои точи стоят после заголовка. Поэтому я думаю, что это интуитивно понятно, что это полевода. Так что у нас тут ещё? Ну, таблица, это прямо маркдауновская таблица в данном случае. У меня есть более сложные случаи, мы тоже их, наверное, рассмотрим, но это прямо самая простая маркдауновская таблица. Ну и какой-то договор действует. Это флажок, мы с ним уже знакомы. Вот примерно так. И я предлагаю чуть-чуть её подрисовать, сделать поаккуратнее эту формочку. И при этом я покажу, какие у нас ещё есть возможности в накидке, и что мы ещё можем в неё добавить, в эту форму, чтобы она стала более такой читаемой.

Угу. Давай так. Для начала у нас есть номеры дат. Обычно мы их собираем в одну строчку. У нас этого есть символперса. Так. И сформируем сразу же всё. Но они у нас встали в одну строчку. Накидка сама определяет простые типы данных. То есть она знает, что вот это число, например, а это строка по эта дата. Она знает, э что это дата со временем или без. То есть она определяет это по значению. Мы можем здесь что-то поправить, например, здесь первое двадцать четвёртое. Сейчас уже, наверное, более позднее время сделаем вот такое. И вернём назад. У нас здесь поменялось. Шикарно. Дальше организация. Вот это вот прочерк означает, какие кнопочки будут справа. Мы можем здесь прямо использовать специальный набор букв. Есть документации. Я потом ещё могу показать, как где у нас документация, но можно воспользоваться достаточно новой пока функциональностью. Это палитра свойств, да? Мы можем сделать кнопку открытие, и у нас появляется сначала. Так, что мы ещё можем сделать? Давайте вернёмся чуть-чуть назад и добавим к кнопку печать. Ну, у нас обычно печать же в меню находится, поэтому мы тоже так сделаем. Мы сделаем разрыв, сделаем печать команду и в ней сделаем печать договор. То есть мы здесь повторяем это название, чтобы у нас было в виде дерева, потому что меню - это дерево. Сформируем. У нас появилась кнопка печать. Добавим картинку. Всё, у нас появилось более-менее красивое меню.

А картинки он из конфигурации берёт? А, да, да, это библиотека стандартная. Угу. Ну, он берёт какое-то название, да, и у нас это тоже в тексте есть. А что ещё мы сейчас можем посмотреть? Давай я ещё покажу. группы. Я чуть-чуть с ними поломал, но я думаю, что мы сейчас сможем посмотреть, как нам сделать группу. То есть наши все элементы идут сверху вниз, мы их просто сделим, разделим на две аа м вертикальные группы. Я думаю, что так будет просто более читаемо и более похоже на то, что а есть в стандартных формах. У нас есть редактор групп. Мы половинку элементов в одну группу добавим, а во вторую половинку в другую. Рвёмся в форму. То есть вот у нас есть такая группа. Сейчас я перетащу сюда, чтобы было понятно. Я эту страницу уберу. Я думаю, что они нам здесь уже не так важны. И сформируем. То есть вот у нас две группы стало слева и справа. Вот визуально так они разделяются. Вообще группа - это самое сложное, с чем я пока здесь столкнулся, потому что у них нету прямого аналога в Марда. У них вот приходится придумывать какой-то инструмент по именно по работе с этими группами. Ну, мне кажется, я нашёл сам подход. Хотя, возможно, что-то в синтаксе ещё поменяется. То есть у нас тут два два набора группы. Давай вид договора я отсюда вытащу. Вот сюда мы с ним ещё чуть-чуть отдельно посмотрим. можно в него сделать список выбора. То есть у нас есть вид договора с поставщиком и с покупателем. Так, что-то у меня такой сделал информируем. У нас у этого поля появился выбор. Можем сделать цвет, да, для этого поля обычного. Так, какой-нибудь светло-золотистый. Всё. И мы так потихонечку оформляем. Оформляем. У нас становится уже покрасивее. Комментарии обычно у нас идёт с ответным, да, в подвале всё у нас вот так вот. Соответственно, тоже добавим какие-нибудь кнопки выбора. Так, таблица. Для таблицы у меня тоже есть свой отдельный редактор. То есть мы, в принципе, можем настраивать колонки, там менять их порядок и делать подколонки. Сейчас я эту таблицу скопирую, потому что я, скорее всего, с ней потом буду работать, но покажу, что мы можем вообще с ними делать. Мы берём эту таблицу, заходим в редактор и, например, сумму платежа мы сделаем по годам. Мы делаем год, добавляем под колонку 2025, 2020 6. У нас вот такая сложная табличка получилась. Но мы, наверное, год сделаем не полем, а просто заголовком. Ставим заголовок, формируем. Тут мы можем уже цифры прописать, да, там 1.000 руб., 2.000 руб. и вернуть обратно. То есть вот это маркдаун тоже, но на самом деле это уже один из его каких-то расширенных диалектов. То есть в обычном маркдауне нет таких сложных таблиц, где много заголовки идут, где могут быть, э, состав заголовка отличаться от состава строк. Ну и ещё по таблице самая, наверное, кроме таблицы у нас знаменитая штука есть дерево. Мы можем сделать дерево. То есть нажимаем точку добавили, да, нажали сформлять, у нас появляется дерево. То есть мы уже можем здесь работать как с деревом, здесь его наполнить. У нас здесь будет полноценное дерево формы. делаем покрасивее. Есть ещё флошки, кстати, картинок ещё пока не сделал, кстати. То есть у нас можно ещё флажки добавить. Вот это в принципе то, что у нас есть сейчас. Вот с точки зрения редактора.

Это ты имеешь в виду, что это есть сейчас в текущем релизе? Да. Да, это вот всё есть. И палитра свойств уже есть. Она пока тоже не для всех элементов работает, но в целом тут довольно уже большой выбор. По крайней мере, цвет выбрать можно. Она довольно быстро, кстати, реагирует. Я, знаешь, что жду? А ты можешь её сломать? Это формулу. Что что будет, если она будет, ну, неправильно описана с точки зрения языка?

Ну, конечно, сейчас её сломать можно. Вот. Но, в принципе, подход, я так понял, Марыдауна, что если ты что-то не понимаешь, пусть это будет надписью. То есть получается, ты просто, как сказать, большинство ты ошибку и не покажешь. Ты просто условно находи показывать ошибку. Да, я про это думал в самом начале. Я посмотрел, как Маркдаун с этим работает. Мардаун же тоже не выводит ошибки. Да, это на самом деле удобно. Возможно, всё-таки когда-нибудь я дойду и у нас справо будет в режиме онлайна обновляться, да, при редактировании. Я думаю, что это стоит того. А в целом визуально мы же уже видим, где ошибка, да? Если надпись, у нас просто всё преводится в надпись. Я даже не знаю, попробую сейчас сделает. Нет, он ошибок, да? Вот. А вот. Ага, понятно. То есть он не выводит какие-то сообщения в ваши. Я это я тоже сперва думал сделать ошибки, а потом думаю: "Не, не буду". Но они появляются. Так что ес сейчас, если хотите, их можно сюда найти. Вот так. Ну что ещё показать именно с точки зрения того, что у нас есть сейчас, да? Ну да, у групп, конечно, есть всякие отображения. Так, то есть их можно делать там всякими сворачиваемыми. Тут тоже, кстати, очень похоже на макдаун синтаксис, да, когда много много решёток. Что-то не особо А там заголовок же ножен, да? Например, да. Ну, в целом, вот весь язык.

Слушай, а ты говорил, что есть какие-то ещё новые фишки, да? Но мы тут уже говорим про другую часть, да? Вот смотри, мы сейчас сделали форму, она в целом одинсовская, нормальная форма, там будет большой экран. И потом, когда мы там её запрототипировали и передаём разработчику, разработчику снова нужно делать эту форму. По сути, какая-то такая двойная работа. Мы же уже сделали это реально настоящая одинская форма. И в целом и на Да, да, я сейчас у тебя перебью. Я когда эту штуку прочитал, её увидел, я на самом деле ахнул, а потом я знаешь о чём подумал? А было бы классно. Берёшь её и сразу в XML засовываешь, скармливаешь конфигуратору и и радуешься. Да. Да. И я тоже начал про это думать. Конечно, я начал читать. В общем, я не нашёл большой информации, как всю эту эксльку генерить. Ну, то есть как бы что-то есть, какие-то отрывки, какие-то ребята на фастарте, на гитхабе что-то делали. Ну вот сперва я сделал простую вещь. Я сделал генерацию программного создания реквизита. Я не думаю, что этим прямо сильно пользуется, но я использую, например, её для автоматизированных тестов. То есть у меня тесты построены как раз на генерации этого. Но её особенность в том, что в принципе можно легко сделать, чтобы это программное создание было не такое, да, как бы это ванильное, а, например, какой-нибудь, не знаю, там, который, по-моему, Дмитрий Котов, да, делает или Helлпер, да, Никита Иванченко, да, который уже красивые делают генераторы код. Я, кстати, тоже сразу, да, за Никиту Иванченко. Я вот этот его инструмент сейчас на проекте использую. Вообще классный тоже. Я тоже посмотрел, э, как им пользоваться. Ну, то есть опять же, ты смотришь на код, и ты достаточно быстро понимаешь, а что вообще происходит с формой. Ну, когда ты программно её создаёшь или дорабатываешь. Там очень просто всё. Вот. И мне прямо это понравилось вот это решение от от Никиты Иванченко. Хочу его за это ещё ещё раз похвалить. Он вообще молодец, мне кажется. Тут это можно сделать, если особенно вот есть такое направление, да, то есть достаточно легко, ну, мне кажется, написать какой-нибуд, который сделает генератор не в таком виде, а именно уже в в готовом вот под, не знаю, фомхелпера. Это тоже с чего я начал. Это вообще была бы бомба, честно говоря, вообще. А, ну, конечно, тут есть ограничение, что всё-таки пока накидка - это история про новые формы, да? А программное добавление - скорее история про существующие формы. Мы к этому, может быть, в

конце вернёмся про планы, но пока вот это то, что пока эта штука не такая прям килер-килерфич. Дада. Да.

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

Ну ладно, да, давай пойдём дальше. Да, потом я пошёл, конечно, в сторону выгрузки в конфигурацию настоящие, да, через XML-файлы, но при этом я столкнулся, вот это уже мы как раз, если мы говорим, это уже довольно новая функциональность. То есть выгрузка в конфигурацию есть в текущем релизе, но она отличается от того, что я сейчас покажу, потому что сейчас это такой следующий шаг, сказать, в развитии этой истории.

То есть у нас есть выгрузка в конфигурацию, да? Вот мы формируем объект и выгружаем его вкльку. Когда я начал это делать, я столкнулся с двумя проблемами, какие вот могут быть, да, при передаче этого прототипа в эксльку. Первый то, что у нас здесь всё, что есть - это, по сути, либо числа, либо даты, либо строки. Это не ссылочные поля. А в форме, конечно, хотелось бы, чтобы это были ссылки, да? Если это, например, контрагент, то это должен быть справочник контрагенты. Причём может быть такое, что этого справочника вообще ещё нет у нас конфигурации. То есть он вот есть в прототипе, но его ещё нет. Как, например, вот я как раз этот пример сделал, да, вид договора. Он же относится только к справочнику договора. Его может просто ещё не быть, он просто вот пока на форме нарисован. И я это вот это вот прямо функциональности, которой ещё нет. Она сырая, она скорее всего ещё поменяется, но я надеюсь, что это я попробую донести вот эту идею, какая у меня есть, как это должно происходить.

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

Слушай, а как эта шту как как эта штука работает? Ты как-то метаданные выгружаешь и скармливаешь это яишки?

Не, я я тут как бы немножко читерствую. Я попробовал так сделать, но у меня стал токен где-то даже на УНФКе около 80.000 токенов. У, я сделал так. Я ему сказал: "Сделай мне 10, помчи сделай мне 10 самых популярных ответов, какие могут быть у видов". Потом искал их в метаданных и ранжировал их уже по близости названий. В целом, я пока посмотрел, вроде он делает нормальные названия как раз, то есть их достаточно быстро можно выбрать. Понятно, что скорее всего, если это будет прототипирование, то есть мы сперва прототипируем аналитику, условно разработчик не подходит, а потом в конце одномоментно разработчик берёт эту форму, то, возможно, здесь будет уже форма, где всё сразу можно, да, для каждого элемента эти типы прописать. Сейчас я показываю, как будто мы в каждом, да, прописываем поэтапно. Вот. То есть мы прописали для каждого элемента там тип, ну, не знаю, для ответственного ещё может. Ну, тут, кстати, физический лица он не предложил. Инда он предлагает. Так вот, это была первая проблема. Вот я нашёл такое решение. Его, наверное, можно решать без нейросети, но с нейросети, мне кажется, просто повеселее, потому что она даёт какие-то вот случаи, когда она догадывается по контексту, что это может быть. Вот.

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

Вот вторая проблема, с которой я столкнулся с тем, что название вот этих групп корявые. Да, я знаю, что многие разработчики так, в принципе, и любят оставлять их в формах, да, чтобы это группа один, группа два, группа три, потом фиг там разберёшься, да. Да, мне это честно не нравится. Я поэтому сделал ещё одну кнопку, которая их заполняет тоже при помощи. И я там немножко, я один раз, да, задал вопрос Никите Рипу, который там у нас вроде как такой значимый специалист, да, по интерфейсам. И вот он, в принципе, мне посоветовал, какие должны быть примерно названия у этих групп. И я вот добавил эту вишку, и вроде бы они довольно читаемые стали. Группа лево, группа права. номер дата. То есть стали не такие стыдные, пош если в форму заглянуть.

Всё, мы в это выгружаем. Да, у нас тут есть каталог, куда предварительно выгружена конфигурация в XML. Я могу показать, да, как выгрузить это XML?

Давай, давай. А это в конфигураторе мы делаем выгрузить конфигурацию файлов. Это для основной конфигурации, для расширения. По-моему, тут нет расширения. Там будет конфигурация. тоже выкрутить конфигурацию файлов. Та версия, которая есть сейчас на гитхабе накидке, она работает и с расширением, и с основной конфой. Ну и, соответственно, загрузить конфигурацию из файлов - это обратно её затянуть.

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

А меня сейчас, знаешь, я что жду? Сейчас, чтобы ты конфигурацию собрал, вот и она заработала. Попробуем. Так, наверное, надо её основной формой, да, назначить. Так, не, я это прямо очень такая альфа альфа альфа версия. Я поэтому сам удивляюсь, что она без ошибок что-то сделала. Да, да, какая-то кривенькая, коленькая, но в целом, да, это полноценно. Ну, понятно, права у нас там не дались, всё такое. Но у нас она создала не просто форму, да, а целый вереницу связанных объектов. А такое же часто бывает, да, когда у нас есть какой-то объект, у него есть вот поле, да, как вид договора, да, вот он он нужен только для договора, он нужен только для этой формы. Возможно, он там просто там для печати или для чего-то ещё или просто если таких форм будет, не знаю, там десяток, да, в проекте. Сейчас же у нас а-а благодаря Павловиче, да, его у нас целый механизм есть работать с проектами, то есть у нас можно с несколькими формами работать. То есть мы можем просто собрать это всё в кучу. У нас уже будет целая конфигурация построена с нормальными названиями, с нормальными типами. Я даже не знаю, куда это дальше пойдёт, но вот, по крайней мере, на этом этапе я вот про это думаю.

И более того, я ещё, ну, это, может быть, уже мы про планы, да, наверное, будем говорить. Мы же можем не только создавать формы, мы можем, например, а делать модули беспшные, да, сразу подключать эти эти объекты по беспешным модулям. Мы можем делать автоматизированные тесты, сразу же также программно создавать просто вот по всему этому делу. Что у нас там ещё? Области м в формах, э, прямо роли, например, да, мы создали справочник валюта. По идее мы по стандарту должны сделать два справоч две роли, да, добавление изменения, течение просмотра. Мы также их можем сделать по этой веренице или вообще сделать какой-нибудь плагин, где каждый будет под себя настраивать, как это состоятся. Вот у меня пока такая такая идея тут именно с точки зрения выгрузки. Я надеюсь, что в ближайшее время я её выложу. Я, честно говоря, вот когда первый раз прочитал статью на Инфостарте про накидку, она ещё первая была, когда ещё не было у тебя статьи потом про яишку, у меня вот сразу вот эта идея с XMLэлькой родилась. Вот, э-э, я просто сейчас, честно говоря, поражён, что вот эта идея, она прямо реализована. Это прямо бумба. Технически те, кто люди занимаются действительно прототипированием, для них вот эта вещь просто офигенная. Ну, то есть она действительно много времени сэкономит.

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

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

Ну, у меня сейчас самая большая задача - это сделать, чтобы у меня парсер работал не на Одинске. Сейчас, когда я его начинал, я вообще с парсерами не был знаком. У меня даже образование, я математика, не айтишник, я не проходил, как работают парсеры. Я сделал его на одински. Сейчас я привожу его на JavaScript. Я надеюсь, что это даст тот же функционал, что, например, можно будет встраивать эти формы в документацию, да, как у этого планмейля есть или у Mermate JS, или сделать какой-нибуд сервис вроде PBIN, PS 1S, да, где вы просто эту форму шерите аа между собой. Ну, для меня это вот прямо больша большая задача. Она внутренняя, она может быть не так отразиться, но она меня пока останавливает от того, чтобы развивать сам язык. Дальше, наверное, мм хотел бы доделать вот эту выгрузку XML до того, чтобы её выпустить в релиз. То есть там добавить доку ещё виды документов, добавить там моменты, с которыми пока, ну, не хватило времени на них. Конечно, есть большая задача, я не знаю, когда я за неё возьмусь. Она такая пугающая в значительности, но она, я думаю, что сильно увеличит возможности накидки - это сделать загрузку, загрузку существующих форм у неё. Если это будет, я думаю, что это прямо мм больша-большая история. Ну, в плане возможности, увеличение возможности, перспектив. Вот, наверное, такие вот вещи, которые я хочу сейчас сделать.

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

А, да, слушай, мне очень понравился, есть такой подход All contributors. Может быть, слышал про него. А суть в чём? GitHub обычнобьюторы, да, это люди, которые вносят какой-то вклад в проект, да? А GitHub считает, ну, как правило, да, потому что у него отражаются люди, которые вносят изменения в код, в первую очередь, считаются контрибьюторами. А All Contributors говорит, что и в принципе мне очень нравится этот подход, и я считаю, что это так и есть, что вклад в проект вносят люди, которые мм а пишут каких-то идеи, находят ошибки, баги, люди, которые пишут тесты, да, если вы напишите тест, вы тоже очень поможете. А вносят изменение в документацию, потому что накидке полгода и документация уже устарела. Люди, которые не знаю, пишут посты про накидку, да, её в том числе считаю, что и ты, Сергей, тоже считаешься уже контрибьютором нашего проекта, человек, который, да, тоже помогает ему. Поэтому, а если вы хотите поучаствовать, есть раздел Ишуи на гитхабе, можете посмотреть существующие, а какие-то проблемы, которые там сейчас около пдесяти. Можете добавить что-то своё. Конечно, этот проект, я думаю, что ему прямо очень важно, чтобы были люди, которые будут в нём заинтересованы, которые, может быть, захотят его улучшить. И уже, в принципе, такие люди есть, и я им очень благодарен.

Ну, а слушай, поучаствовать-то как? Это, грубо говоря, ты выберешь какой-то ищус и делаешь форк, а потом, соответственно, пушишь свои изменения. Как?

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

Ну, супер. Опять же, ты вот сейчас говорил про какое-то соглашение, мы ссылку на него можем оставить, как там условно поучаствовать людям в этом.

Да, да, я скину, конечно.

Отлично. Мы мы тогда под описанием ролика это обязательно оставим, чтобы вы, коллеги, могли посмотреть, поучаствовать. Как как Никита сказал, вообще разные роли могут быть абсолютно. Вот от отснятия подкаста, да, как здесь до там до написания тестов или какого-то нового функционала, даже те же самые юшисы нагенерить тоже тоже вперёд.

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

Ну да, кстати, вот вот мы когда говорили о том, что когда меня посетила идея за это загрузить потом это в, ну, сгенерить XML и потом загрузить конфигурации, я когда потом начал читать комменты под постом на инфостарте под под твоим, я это увидел. Ну, то есть не меня одного, и такая идея, соответственно, посетила. Были и другие коллеги, которым было это эта штука прямо, ну, интересна и востребованна, да, потому что этот проект, я честно говорю, для меня он был решение какой-то маленькой задачки одной, условно, и сейчас он стал совсем уже другим, что чем я его видел изначально. И мне части тоже это интересно, потому что я вижу, что у людей какой-то есть интерес и именно каким-то определённым вещам, на которые, возможно, я сам изначально не не обращал никого внимания.

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

Приятно, мне кажется, приятно, что находятся люди, которым он интересен. Да, я согласен в этом плане с Антоном, да. А что, да, это самое важное, наверное, да, для таких проектов. Мне кажется, даже для коммерческих проектов это важно, да, когда тебе обратная связь, ты говорит, что то, что ты делаешь, это приносит какую-то пользу и ценность.

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

Да. Да, я с этим абсолютно согласен, что тут и причём, мне кажется, сейчас в Одинске как-то оно стало больше, да, вот это сообщество развиваться или потому что я там начал чуть-чуть это тоже участвовать. Для меня это какая-то именно с опенсорсом. А ты когда заходишь, да, ты начинаешь встречать там людей. Ну вот как опять же я сошлюсь на Антона, да, мы эту тему с ним качали. Э там же, как тебе сказать, своя, можно так сказать, субкультура, что ли такая, ну, то есть таких людей с горящими глазами, которым эта тема действительно интересна. И когда ты видишь, что ты не один такой, да, а рядом ещё есть ребята, которым эта штука очень интересна. Это прямо двигает, да, это тоже, да, очень круто, очень важно. Хотя, конечно, хочется ещё, чтобы это какие-то, ну, всё равно, я так понимаю, что ещё даже не все работают с гитхабом, да, например, люди, то есть и для них это часто ещё новый инструмент. А, то есть для меня он, может быть, даже ещё был достаточно, ну, сказать, что совсем новый, но я его мало использовал вот в плане одинэски ещё там, не знаю, полгода, год назад.

Я, знаешь, даже ещё чуть тоже о чём подумал. А, глядя на твой инструмент, что вот коли мы вспомнили, да, чтобы там кнопочка была там комита там и так далее. Ну, то, что на самом деле технически я видел, что там показывал VS-код. Ну, в ВС-коде, грубо говоря, можно весь функционал достаточно быстро реализовать и ничего программировать не надо. Я просто такую штуку увидел у ВНС в своё время. Работа с ветками. Ones Automation это написание функциональных тестов. Вот там у них такая штука есть. Тебе, то есть на самом деле разработчику не надо будет много инструментов, а он условно вот прямо в одинске это всё сделает. Ну, опять же, технически не сложно переключиться на VS-код и сделать это там, но если появится такая волшебная кнопочка в обработке, будет здорово. Мы в Telegram-канале тоже этот вопрос обсуждали, что вроде, да, в Анесее - такая штука классная, но я вот не пользовался никогда в Анесе вот этой интеграцией с Гитхабом. И я, честно говоря, даже не слышал, не читал, что кто-то ей прямо активно пользоваться. В основном, мне кажется, код, да, используют для именно работы с уже

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

А мы с тобой плавно к окончанию подходим нашей встречи. Вот у меня такой к тебе такой к тебе вопрос. Я тебя попрошу вспомнить что-нибудь очень интересное и забавное из мира 1С и с твоей практики.

Слушай, ну да, я про это думал, в общем, я нашёл две истории, а сегодня я вспомнил э другую. Она, мне кажется, она такая ностальгическая, и я думаю, что с ней многие сталкивались в своё время, но она, вот, мне кажется, чуть ли не все, наверное, кто сталкивался, кто там здесь с 82 какой-нибудь работал, но она, мне кажется, как раз больше всего по теме как раз про людей и как пользователи, да, кто потом уже будет в этом всём вориться, с этим всем работать. Я вспомнил, что мм когда вышло 8:2, а ко мне и на самом деле к другим у нас разработчикам в команде подходили клиенты, а не раз и не два, мне кажется, и с таким полушутяток спрашивая: "А вы это так серьёзно считаете?" То есть вы так к нам серьёзно про нас думаете и вы к нам так относитесь? И мы спрашивали: "А типа о чём речь?" Они нам показывали на экран, да, 82, если помнишь. И там в шапке всегда было написано толстый клиент, да? И вот они это, мне кажется, старая история, да? Вот. Ну вот это как раз про то, что я понимаю, почему толстый клиент, почему тонкий клиент, да, и ты начинаешь объяснять вот эти клиентсерверные взаимодействия, они такие вот это про то, что типа про то, говоря, как пользователи видят то, что, да, мы для них делаем и понимают.

Слушай, совсем не то. Я даже с этой стороны на это на это никогда не смотрел. Человек 10 точно вот ко мне лично ко мне подходило с этим. Я не знаю почему. А это везде было написано. Это было написано на ярлыке, по-моему, в шапке и в справке, если я не ошибаюсь.

Друзья, спасибо, что слушали. Никита, спасибо, что пришёл в гости. Спасибо тебе. Успехов. y