А1Э - альтернативная стандартная библиотека для 1С

Публикация № 1270967 14.08.20

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

Библиотека Фреймворк А1

Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.

Среди возможностей расширения:

  • удобные методы работы со стандартными типами (Строка, Число, Массив, Структура, ТаблицаЗначений)
  • стандартными интерфейсами (Запросы, Формы, Объекты, Метаданные)
  • работа с часто встречающимися внешними системами (API, Word, Excel)
  • и универсальные инструменты нашей собственной разработки (Универсальная Форма, Механизмы).

Лицензия MIT, код открыт и доступен на Гитхабе. С этого момента планируется человеческая история версий (в рамках стандартных механизмов 1С). Любой вклад приветствуется (хотя код-ревью может быть жесткое).

TL,DR: Много потенциально полезного кода за 1 СтартМани (или качайте бесплатно на Гитхабе https://github.com/Shadawn/A1-Export).

 
 Общая концепция (немного лирики)

На всякий случай уточняю - А1Э это библиотека. Сама по себе она ничего не делает. У неё нет пользовательского интерфейса, где можно "ткнуть галки". Они предназначена для использования программистами.

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

Основные модули, интересные для общественности:

А1Э_Ворд - содержит замечательную функцию А1Э_Ворд.Напечатать(), которая позволяет получить Ворд-документ. Работает в веб-клиенте!

А1Э_Даты - всякие функции для работы с Датами. Например, содержит функции ИзЖСОН / ДляЖСОН, позволяющие превратить дату 1С из/в дату формата JSON.

А1Э_ДопРеквизиты - дополнительные реквизиты это очень удобная штука для небольших доработок, но обращаться к ним неудобно. Этот модуль предоставляет функции вроде А1Э_ДопРеквизиты.Значение(ОбъектИлиСсылка, ИмяДопРеквизита, ...), которые делают работу значительно удобнее.

А1Э_Запросы - содержит функции для работы с запросами. 

А1Э_Иерархии - в А1Э иерархиями я называю массивы структур массивов соответствий и т. д. - то, что в Javascript было бы объектом.

А1Э_Коннектор - интегрирована великолепная публикация //infostart.ru/public/709325/ (интеграция разрешена в рамках лицензии Apache 2.0).

А1Э_Массивы - исправляет слабость стандартных механизмов 1С в области массивов. Например, было бы логично, если бы у Массива был бы метод .Сортировать(). В стандартной 1С его нет. В этом модуле он есть - и еще куча полезных функций.

А1Э_Метаданные - всякие функции для работы с метаданными. 

А1Э_Механизмы - этот модуль заслуживает отдельной статьи. Он позволяет делать инкапсулированные блоки функциональности и подключать их к объектам метаданных. 

 
 Механизм "Привет, мир!"

 ВАЖНО!: Текущий код сам по себе не заработает. Для того, чтобы механизмы работали, их необходимо подключить. Эта процедура автоматизирована (смотрите А1Э_Механизмы.СоздатьРасширениеМеханизмов). GUI доступно в расширении А1И.

А1Э_Общее - сюда складывается то, что не поместилось в специализированные модули. Могут представлять интерес А1Э_Общее.ЗначениеСвойства(Объект, ИмяСвойства), которое позволяет получить свойство объекта - или вернет Неопределено, если у объекта этого свойства нет. 

А1Э_Объекты - модуль для работы с объектами (СправочникОбъект., ДокументОбъект.). Так, содержит функцию .Записать(Объект), которая запишет объект "правильно" (проведенный - перепроведет, непроведенный или справочник - запишет). Сильно упрощает написание кода групповых обработок данных.

А1Э_ПовторноеИспользование - меня раздражает в БСП то, что если в модуле у 1 функции нужно кэшировать значение, мне требуется создать отдельный модуль. Поэтому в своей библиотеке я сделал универсальную функцию А1Э_ПовторноеИспользование.РезультатФункции(ИмяФункции, П1, П2...).

А1Э_СКД - вы помните наизусть код для программного выполнения СКД? Я помню - А1Э_СКД.РезультатВыполнения(СКД, КомпоновщикНастроек, Результат, ДанныеРасшифровки). 1 Строка, удобно писать и читать. Вывод зависит от типа результата (ТабДок, ТаблицаЗначений, ДеревоЗначений).

А1Э_Строки - много удобных методов.

А1Э_Структуры - много удобных методов.

А1Э_ТаблицыЗначений - по историческим причинам содержит также и МассивыСтруктур. В частноти, практически все методы ТаблицыЗначений реализованы для МассивовСтруктур. Также есть .РаспознатьКолонку(ТаблицаЗначений, Колонка, НоваяКолонка, Алгоритм).

А1Э_Тестирование - экспериментальный модуль для дымового тестирования прямо в 1С. Позволяет проверить, что формы открываются и документы проводятся.

А1Э_УниверсальнаяФорма - этот модуль также заслуживает отдельной статьи. Он позволяет использовать УниверсальнуюФорму, в которую передается процедура, которая будет вызвана в ПриСозданииНаСервере. Таким образом, не надо пилить формы под каждую ерундовину. Кроме того, этот модуль позволяет добавлять компоненты - реюзабельные блоки пользовательского интерфейса, например:

 
 Компонент для вывода дополнительного реквизита

 

МассивОписаний = Новый Массив;
А1БСП_КомпонентДополнительныйРеквизит.ДобавитьОписание(МассивОписаний, ИмяДополнительногоРеквизита);
А1Э_УниверсальнаяФорма.ДобавитьРеквизитыИЭлементы(ЭтаФорма, МассивОписаний);

Этот код создаст на форме реквизит и элемент нужного типа, загрузит его значение при открытии и сохранит его при записи. Все это удовольствие - в 1 строку кода (важна 2 строка, 1 и 3 - вспомогательные и пишутся 1 раз для всех реквизитов)!

ВАЖНО: Обработчики универсальной формы надо предварительно добавить на форму. Об этом будет рассказано отдельно. Этот процесс также автоматизирован и выполняется вместе с добавлением обработчиков механизмов.

А1Э_Файлы - если Вы разрабатывали под веб-клиент, то слышали про такую штуку как "Расширение для работы с файлами" - и связанные с ним пляски с бубном. А1Э_Файлы.ПоказатьВыборФайла() спешит на помощь - оно в веб-клиенте проверит наличие расширения, предложит его установить а потом вернет исполнение Вашему коду. В нормальном клиенте оно также отработает нормально.

А1Э_Формы - модуль для программного создания объектов формы (реквизитов, элементов, команд, кнопок и прочего).

 

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

Подключается как расширение (версии 8.3.12 и старше).

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

Наименование Файл Версия Размер
А1Э - альтернативная стандартная библиотека для 1С.:

.cfe 260,30Kb
391
.cfe 1.5.3 260,30Kb 391 Скачать бесплатно

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

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SeiOkami 2490 14.08.20 21:29 Сейчас в теме
А1Э_УниверсальнаяФорма - этот модуль также заслуживает отдельной статьи.

Буду ждать статью. Сам уже много раз брался за реализацию такой формы, но постоянно откладывал в черный ящик.
28. Enigma 248 18.08.20 00:21 Сейчас в теме
(1) Планирую написать статью на этих выходных.
46. rpgshnik 2734 30.03.21 06:53 Сейчас в теме
(28) статья будет?
Ещё были комментарии на Инфостарте про статьи про Доп. реквизиты БСП :)
47. Enigma 248 30.03.21 20:39 Сейчас в теме
(46) Будет, сейчас я доделываю зависимости для моих расширений, и будет статья.
rpgshnik; +1 Ответить
2. kirill_sh 14.08.20 21:37 Сейчас в теме
Интересная публикация, будем смотреть и думать для интеграций.
Надо добавить еще работу с ворд и ексель без компонент и будет гуд
24. Enigma 248 17.08.20 18:41 Сейчас в теме
(2) А1Э_Ворд как раз-таки и работает с Вордом без компонент. Включая поддержку таблиц!
3. comol 4726 14.08.20 22:59 Сейчас в теме
4. getnight 43 15.08.20 02:12 Сейчас в теме
Малоинформативно... Очень круто, очень хорошо, очень полезно... Это немного субъективно.
У многих есть подобные личные библиотеки... Хотя бы описания процедур и функций внутри блоков, чтобы понимать, о чем конкретно речь.
Yashazz; wowik; Evg-Lylyk; sapervodichka; +4 Ответить
7. sapervodichka 4692 15.08.20 10:46 Сейчас в теме
(4) Я скачал, позависал над кодом модулей. Описания мало, примеров использования - нет. И как-то взгрустнулось..... Избыточно много информации без описания для чайника. Зачем это чародейство когда его не понять? (может будет больше описаний модулей в мини статьях, ждём...) +1 за труд, но пока мне не зашло
Totoro; wowik; Evg-Lylyk; unichkin; +4 Ответить
16. Rustig 1293 16.08.20 12:00 Сейчас в теме
(4)
У многих есть подобные личные библиотеки

так и есть
5. noprogrammer 220 15.08.20 09:11 Сейчас в теме
Идея создать независимую библиотеку безусловно очень интересная, но автору этого сделать не удалось (как и 1С).

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


Р.S. Автору поставил большой плюс т.к. сама идея и посыл абсолютно верные (имхо)
dabu-dabu; Evg-Lylyk; unichkin; the1; sapervodichka; +5 Ответить
6. support 4572 15.08.20 09:29 Сейчас в теме
Выставил вам и здесь бесплатное скачивание. Смысл выкладывать за стартмани, если дублируете на гитхаб? Для open-source проектов у нас давно исключение.

По поводу текущей модели и культуры. Обмен у нас тоже бесплатный, только надо своим поделиться. Заработать разрабочику стартмани для обмена вообще не вижу сложности. Если бы не текущая модель, мы бы уже давно закрылись, и у нас не было бы даже такого сайта, который можно было бы ругать за текущую модель.
Evg-Lylyk; Somebody1; portwein; oninfostart; TreeDogNight; PetrPan; i_a; zhenek1980; awk; wowik; sansys; chg; the1; +13 Ответить
8. Enigma 248 15.08.20 11:14 Сейчас в теме
(6) Я выкладывал здесь за СтартМани чтобы те, кто желает поощрить разработку, могли это легко сделать. Также я не знал про исключение для open-source проектов. Согласен с тем, чтобы скачивание было полностью бесплатным, благодарю за исправление.

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

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

Замечу, что возможно Инфостарт все делает правильно и система "Все для всех и забесплатно" нежизнеспособна. С другой стороны, Github и NPM как-то существуют.
passerg; Quasar; Terve!R; +3 Ответить
13. support 4572 16.08.20 10:31 Сейчас в теме
(8) Спасибо за информацию, надо подумать, как исправить.
14. Rustig 1293 16.08.20 11:43 Сейчас в теме
(13) внедрите пож-та донаты к публикациям и обработкам - чтобы по одному клику поддержать проект sm.
rpgshnik; karpik666; Somebody1; TreeDogNight; Darklight; ELInfinito; утюгчеловек; i_a; gigapevt; Terve!R; Areal; triviumfan; awk; TempAvtoteh; mrChOP93; Drivingblind; wowik; dabu-dabu; Evg-Lylyk; denmax; malikov_pro; noprogrammer; kraynev-navi; RayCon; json; JohnyDeath; +26 Ответить
31. Areal 14 18.08.20 10:12 Сейчас в теме
(8) полностью согласен. Будто меня описал. Добавлю ещё кое-что - опенсорс поделки провоцируют создание годных решений другими разрабами. Не раз с гита скачивал либо откровенный треш, либо узкоспециализированных вещь, делал из этого другую узкоспециализированную вещь и заливал на гит. Мое время сэкономили- и я сэкономлю чье то время.
9. o.nikolaev 204 15.08.20 11:26 Сейчас в теме
(6) Для os проектов выложенных на github кому-то просто может быть лень качать и собирать. В таких случаях на is кладется собранная версия за sm.
10. o.nikolaev 204 15.08.20 11:29 Сейчас в теме
Проектирование и разработка серьезного программного пакета, который можно будет включать в реальные проекты - большое и нелегкое дело. + за смелость, но сомневаюсь в том что проект выживет или достигнет уровня конкуренции с БСП. Да, БСП можно ругать долго и нудно, но у них есть расписание релизов, расписание исправления ошибок и - как часы - выпекание новых версий со всеми ништяками - поддержкой (попыткой) обратной совместимости, документацией, контролем (ну, такое) качества кода и протчая. Любительский подход никогда не перебьет фабрику БСП.
sapervodichka; +1 Ответить
18. malikov_pro 967 17.08.20 00:48 Сейчас в теме
(10) "Любительский подход никогда не перебьет фабрику БСП." - при наличии организатора и общих правил вполне может конкурировать. Делаю патчи для БСП, выкладываю на GitHub, их форкают, при необходимости могут продолжить поддержку.
Синергия будет при навыках работы с групповыми инструментами и наличии описанных правил взаимодействия.
У Вас код по mime-type, для того чтобы мне его импортировать в свой проект (работа с Google Drive) нужно руками скопировать и добавить в расширение а по нормальному сделать модуль пустышку и на уровне git описать зависимость, а после так же вручную отслеживать и поддерживать. Передать $m не проблема.
simonovich; +1 Ответить
29. o.nikolaev 204 18.08.20 01:24 Сейчас в теме
(18)
при наличии организатора и общих правил

Про организатора, ладно, это такое. Но вот вы, может даже не осознавая этого, мельком, упомянули самое важное в этом деле - "общие правила". Попробуйте - прежде чем лупить свой говонокод - и допускать вваливание шматов говнокода от прочих энтузиастов - сформулировать, собрать и утвердить эти правила. Без них - этих правил - и их жестокого соблюдения, можно даже не пытаться замахиваться на что-то серьезное.
P.S. Да, я знаю про Linux и историю его разработки.
11. malikov_pro 967 15.08.20 12:44 Сейчас в теме
(72) Пишу подобие библиотек, на github выкладываю через precommit1c, кому нужно/понимают скачают с него, кто хочет донатит через скачивание за $m, на мой взгляд нормально.

Запрос к Доржи: нужно организовать правила публикации и распространения библиотек в виде расширений и доп обработок.

Кейс 1: использование http-connector в двух связанных расширениях
Кейс 2: доставка обновлений расширений в базу при приобретении за $m (буду обновлять патч для УТ, как уведомить всех использующих непонятно).

(0)
"3.4. Встроенный синтаксис-помошник конфигуратора игнорирует модули из других расширений." - задавал вопрос в Snegopat и Turboconf, технически сделать возможно, запросов особо нет.

"3.1. Глобальное именное пространство может легко приводить к коллизиям." -
1. вариант с адаптерами уже предложен https://infostart.ru/public/1252942/
1.1 вариант "склейки" расширений, shmalevoz был против, решая за счет настройки адаптеров на уровне хранилища конфигурации.
2. доставка расширений с патчами уже реализована в БСП
3. доставка доп обработок реализована, ссылку на публикацию не нашел, но недавно "пролетала"

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

Пример
node-jsonwebtoken (An implementation of JSON Web Tokens.) ->
node-jws (An implementation of JSON Web Signatures) ->
node-jwa (A JSON Web Algorithms implementation focusing (exclusively, at this point) on the algorithms necessary for JSON Web Signatures.) ->
crypto (The crypto module provides cryptographic functionality ...)
Как собирать размышления выше.
25. Enigma 248 17.08.20 18:52 Сейчас в теме
(11) Честно пока что не понял вариант с адаптерами. Как-то все очень теоретически. И настройка в режиме Предприятия, что меня абсолютно не устраивает (everything as code, а если выгрузят/загрузят cf-ник).

Вообще у меня уже есть план решения этого. Я планирую написать менеджер пакетов а-ля npm, который будет использовать общую именную схему в стиле "<ПрефиксКомпании><ПрефиксРасширения>_<ИмяОбъекта>". Менеджер пакетов позволит скачивать и устанавливать расширения в режиме Предприятия, будет контролировать зависимости между расширениями. Также он будет контролировать именную схему при добавлении расширения.

По поводу разборки - я подумаю. С одной стороны это несколько нарушает описанную выше концепцию (будет два расширения с одним префиксом). С другой стороны менеджер пакетов может позволять скачать расширение "кусками", если оно было разбито разработчиком.
26. malikov_pro 967 17.08.20 22:50 Сейчас в теме
(25) "Честно пока что не понял вариант с адаптерами." - из wiki "Адаптер_(шаблон_проектирования)": для организации использования функций объекта, недоступного для модификации, через специально созданный интерфейс (приводит интерфейс класса (или нескольких классов) к интерфейсу требуемого вида). Пример: хранение файлов томов в различных внешних системах, под каждую систему пишется свой адаптер, который стыкует функционал с БСП.

"Менеджер пакетов позволит скачивать и устанавливать расширения в режиме Предприятия" - уже сделано, описание со стороны СППР https://its.1c.ru/db/sppr2doc/content/50/hdoc, описание реализации сервера и клиента не нашел.
По неймингу и зависимостям, этот вопрос лучше вынести в тему форума и попробовать варианты состыковки "вручную", чтобы после проверки граблей можно было сделать решение которое устраивает сообщество. Так же актуальный вопрос проверки/сборки того что попадет в пакеты, в зрелых системах без наличия тестов/описания пакет даже не рассматривают.

По текущему проекту, формируйте issue, определяйте формат документирования и тестирования - будем совместно формировать решение и попутно накапливать опыт (на ошибках) и нарабатывать навык групповой работы, 7 форков - потенциальный ответ в виде PR.
27. Enigma 248 18.08.20 00:20 Сейчас в теме
(26) Идею понял. Не до конца понимаю, упомянутая публикация просто описывает концепцию или предлагает реализацию? В текущей библиотеке есть нечто похожее - так называемые Механизмы (я планирую отдельную статью), реализующие по факту универсальную pub-sub систему. Т. е., используя Ваш пример, разработчик механизма присоединенных файлов делает UI в 1С и определяет события "ПриПомещенииФайла" и "ПриПолученииФайла". Разработчик интеграции с Google Drive подписывается на эти события и пишет код, который выполняет сами действия.

Автоматическую установку патчей я видел (поддерживаю ERP). Вообще программная установка расширения вроде как выполняется в 2-3 команды (скачать и установить, возможно установить монопольный доступ). Куда сложнее написать все проверки на нэйминг конвенции, сделать разрешение зависимостей (на самом деле не очень сложно, так как нам не нужен tree shaking), сделать сервер и некоторую модель публикации.

Issue попробую сделать. Касательно дискуссии - не уверен, что её эффективно вести на инфостарте. Форум выглядит как что-то, где тема потеряется. Возможно обсуждать на Гитхабе?
30. malikov_pro 967 18.08.20 04:28 Сейчас в теме
(27)
У меня (публикация про доработку хранения) пока выделение функций по работе с фалом (объектом) и через условие по типу хранилища и вызов соответствующей реализации.
По идее можно сделать через процедуру (чтобы не бороться с перехватом возврата значения) и реализации навешивать через "&После". В текущей реализации типовой модуль пришлось перекомпоновать, т.к. типовая компоновка не пригодна для расширения.

На гитхабе программистов 1С существенно меньше. Тему форму поднять административно думаю реально. Можно на обеих площадках.
12. getnight 43 15.08.20 15:10 Сейчас в теме
Возможно, тут есть что-то полезное, пока не нашёл...
Возможно, причина даже не в том, что там нет ничего полезного... уверен, что есть. А вот само оформление... его нет.
Видно, что автор хорошо разбирается во многих направлениях.
Но как можно использовать чужие серые ящики, если они приведены без описаний?

Любой более-менее серьёзный алгоритм должен быть таким, что пользователь его должен понимать:
1. что получит на выходе?
2. какие данные нужны на входе
А не садиться и трассировать код, чтобы понять, что вообще он делает.

Сомневаюсь, что сам автор пользуется 80% того, что там есть, потому что много решений для единичных банальных вещей
Модуль()... ?(А<0, -А, А)
или НеНоль ?(А=0, Б, А), где название противоречит логике содержимого (напрашивается Возврат А<>0, а логичнее было бы что-то вроде ЗаменитьНоль(Число, Замена)

или НепустоеЗначение - ЗаменитьНезаполненное(Число, Замена) - слово "пустое" - каждый понимает по своему
Новый Цвет(0, 0, 0) - это пустое или не пустое значение?)) кстати, вылетит с ошибкой

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

Например, Функция ОбрезатьЗапятую(МассивСтрок) - предлагаю любому желающему угадать её предназначение.

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

Насколько бы приятнее было видеть подготовленную библиотеку... а пока выглядит, как "держите всё, что у меня накопилось за 20 лет"
Самому автору навевает уныние приводить это в порядок? А что делать тем, кто это скачает?.. Если бы я скачал это за стартмани, мне бы взгрустнулось.

Скачал, чтобы почерпнуть чего-то новенького. Пока в поисках. Кстати, плюсанул, авансом ;)
o.nikolaev; dabu-dabu; Evg-Lylyk; sapervodichka; +4 Ответить
15. Rustig 1293 16.08.20 11:46 Сейчас в теме
(12)
Кстати, плюсанул, авансом

многие авансом и плюсанули...
но для себя мало что увидели - но дело в том, что автор, публикуя бесплатный контент, в первую очередь хочет развития проекта, новых идей от сообщества, нежели передать некую сокровенную красную таблетку, которая решит все ваши вопросы, проблемы, задачи....
17. sapervodichka 4692 16.08.20 20:38 Сейчас в теме
короче все плюсов наставили, потому что человек хотя бы попытался ))) и самое интересное там в конце фильма приходит здоровенный мужик, у которого всё таки получилось...
Прикрепленные файлы:
AzagTot; Terve!R; Rustig; +3 Ответить
19. gepar1020 17.08.20 08:38 Сейчас в теме
Планируется описание для каждой процедуры/функции?
23. Enigma 248 17.08.20 18:37 Сейчас в теме
(19) По результатам отклика общественности - да, планируется. Как минимум для каждой функции, которая предназначена для вызова извне.
mrChOP93; +1 Ответить
20. morin 27 17.08.20 08:44 Сейчас в теме
Расскажите, А1Э - почему так назвали?
22. Enigma 248 17.08.20 18:36 Сейчас в теме
(20) По мере разработки в 1С я сталкивался со сложностью организации кода. Конфигуратор не дает нам создавать подпапки для общих модулей. Единственным способом, который мне понравился, была сортировка. Автоматическая сортировка объектов происходит по алфавиту. Таким образом, чтобы мои модули и мои объекты всегда были сверху (что экономит время на скроллинг/поиск), я стал префиксовать их А1. Это прижилось, и сейчас мы работаем под брендом "Коллектив программистов "А1"".

Э - от слова экспорт, экспортные модули. Я даю расширениям короткие названия формата "А1<Аббревиатура>", чтобы иметь возможность отличать их в панели конфигуратора.
21. ManyakRus 434 17.08.20 09:38 Сейчас в теме
у меня все функции в одном общем модуле "МодульСервер" :)
Всё в одном легче
32. Yashazz 4120 18.08.20 18:24 Сейчас в теме
(21) Тогда уж в 3-4 модулях - один серверный, один клиентский, один повторного использования, один глобальный... Как-то так)
34. ManyakRus 434 19.08.20 09:32 Сейчас в теме
(32) да, так.
Но остальные почти пустые.
33. Yashazz 4120 18.08.20 18:24 Сейчас в теме
Ну да, многие себе такие библиотеки делали. Многие пытались их аккуратно оформить, документировать, версионировать, грамотно фрагментировать. Сколько разработчиков - столько и таких поделок, и своих нотаций, и своих "стандартиков". Да. У меня тоже есть)

Одного не понимаю - нафига это выкладывать с претензией на конкуренцию с БСП? Плюсов сгрести? Всё одно ж дальше своего междусобойчика это не продвинется.
zqzq; kalyaka; a_titeev; +3 Ответить
42. Enigma 248 19.08.20 17:12 Сейчас в теме
(33) Я не согласен с тем, что этот проект обречен. Да, вероятность успеха (где под успехом я подразумеваю использование библиотеки более 10 не аффилированными со мной программистами) не очень высока. Скорее всего ниже 50%. Но, как мне кажется, явно больше 1% (если Вы не согласны - я принимаю ставки!). Эта вероятность (+ то, что я и мои коллеги используем библиотеку, + то что её публикация не требует от меня большой затраты ресурсов, + то что её публикация мотивирует меня улучшить библиотеку, + то что авторство библиотеки можно включить в резюме) делает это действие вполне оправданным.

Вряд ли эти аргументы интересны Вам, но есть взгляд с другой стороны. Сложно спорить, что экосистема 1С очень сильно проигрывает экосистеме Javascript'а (или Питона, или Java, или любого "взрослого" языка программирования). С моей точки зрения публикация этой библиотеки (пусть и в её текущем несовершенном виде) повышает шансы 1С сократить разрыв. Может быть у меня все получится, может быть это мотивирует кого-то более компетентного или имеющего больше ресурсов. В любом случае, я не представляю как эта публикация может навредить.
45. Darklight 27 31.08.20 17:25 Сейчас в теме
(42)Возможно Вам будет интересна тема обсуждения другой статьи
И, в частности, поста (6) и последующих постов (например (22))
35. Evil Beaver 7186 19.08.20 11:36 Сейчас в теме
ИзЖСОН / ДляЖСОН

Одно только вот это заставляет задуматься о качестве кода внутри. Кажется, там попахивает. Не хотите проверить на sonar.openbsl.ru?
mevgenym; Enigma; brr; +3 Ответить
38. Enigma 248 19.08.20 16:38 Сейчас в теме
(35) Благодарю за инструмент, не думал что это в открытом доступе. Обязательно проверю, постараюсь на этой неделе.

Приемлю конструктивную критику. Прошу указывать имя модуля - оно также несет смысловую нагрузку. В данном случае скорее всего Вы имеете в виду функции модуля А1Э_Даты. Эти функции предназначены для преобразования строки ISO 8601 в Дату 1С и обратно. Я не знаю про существование подобных механизмов в платформе 1С. Если я неправильно понял суть критики - прошу прокомментировать подробнее.
36. Hitcher 147 19.08.20 14:11 Сейчас в теме
В библиотеке использован Коннектор: удобный HTTP-клиент для 1С:Предприятие 8. Указанная в библиотеке версия 1.2.3. Текущей актуальной версией является 2.1.3. Актуальность библиотеки не поддерживается?
40. Enigma 248 19.08.20 16:45 Сейчас в теме
(36) Поддержка актуальности библиотек планируется. Впрочем, в данном конкретном случае Коннектор скорее всего заслуживает своего отдельного расширения в рамках планируемого менеджера пакетов (с благословения автора Коннектора).

Постараюсь на этой/следующей неделе уточнить, не было ли в Коннекторе потери обратной совместимости - и если не было, то обновлю.
37. Hitcher 147 19.08.20 14:24 Сейчас в теме
А в чем прикол таких функций ? Название не отображает сущности, что вносит сумятицу в неокрепшие умы последователей. Количество написанных строк не уменьшается, а количество введенных букв даже увеличивается.

Функция НовыйТаблицаЗначений() Экспорт
#Если НЕ Клиент Тогда
Возврат Новый ТаблицаЗначений;
#Иначе
Возврат Новый Массив;
#КонецЕсли
КонецФункции
39. Enigma 248 19.08.20 16:41 Сейчас в теме
(37) В данном случае идея была в том, чтобы обеспечить возможность работы с ТаблицейЗначений (или чем-то на неё похожим - МассивомСтруктур) на клиенте. Для этого был сделан конструктор и написаны функции, эмулирующие стандартный функционал ТаблицыЗначений для массива структур.

Я не берусь утверждать, что это была самая светлая моя идея.
41. SlavaKron 19.08.20 17:02 Сейчас в теме
Функция ИмяЗначения(ПеречислениеСсылка) Экспорт
	ИмяПеречисления = ПеречислениеСсылка.Метаданные().Имя;
	ИндексЗначения = Перечисления[ИмяПеречисления].Индекс(ПеречислениеСсылка);
	ИмяЗначения = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначения].Имя;
	Возврат ИмяЗначения;
КонецФункции

Может быть заменено на XMLСтрока(ПеречислениеСсылка)
Создание объектов/менеджеров может быть сделано с помощью конструкции Новый(<ИмяТипаОбъекта>). Нет использования Метаданные.НайтиПоПолномуИмени().
43. Enigma 248 19.08.20 17:39 Сейчас в теме
(41) Благодарю за конструктивную критику. Внесу в ТУДУ сегодня. Проверю, исправлю на более простые конструкции.
44. утюгчеловек 32 21.08.20 15:48 Сейчас в теме
Местами очень удобно, но очень плохо документировано. Все экспортные методы должны быть аннотированы должным образом, чтобы при вызове стандартный движок 1С подсказывал какие у функции параметры, возвращаемое значение, что она делает вообще.
Оставьте свое сообщение

См. также

Универсальный редактор данных (УРД) Промо

Инструментарий разработчика Инструменты администратора БД v8 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    6433    129    Adeptus    51    

Конвертация данных 3 расширение: Редактор кода.

Инструментарий разработчика Адаптация типовых решений v8 КД Россия Абонемент ($m)

Расширение для конфигурации “Конвертация данных 3.0” добавляет на все формы, где используется код языка 1С, консоль кода для управляемых форм. В результате работать с кодом в пользовательском режиме становится намного удобнее - появляется привычная расцветка кода, а также контекстная подсказка.

1 стартмани

08.09.2020    12386    34    Viktor_Ermakov    34    

Должно быть NULL в регистре бухгалтерии Хозрасчетный

Тестирование и исправление Инструментарий разработчика v8 v8::БУ 1cv8.cf БУ Абонемент ($m)

Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет...

2 стартмани

21.10.2019    19086    75    sapervodichka    33    

CF & SQL : конструктор прямых запросов к БД 1С

Инструментарий разработчика Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    31441    300    dmitrydemenew    63    

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 Промо

Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки Практика программирования v8 1cv8.cf Платные (руб)

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

2000 руб.

31.01.2019    82604    520    213    

Конвейер проверки качества кода

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

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    38849    27    Stepa86    46    

Модель объекта

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

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    17166    1    vadim1980    5    

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

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

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    38239    9    ripreal1    92    

Faster - многофункциональный ускоритель работы программиста 1С и других языков программирования Промо

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

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    85438    967    moolex    157    

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

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

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

1 стартмани

13.05.2019    39555    161    Diversus    44    

Немного о графических файлах. Сжатие. Распознавание текста

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

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

1 стартмани

06.05.2019    10442    12    tusv    6    

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций

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

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    26799    67    Bazil    34    

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

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

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

2 стартмани

06.10.2014    171110    2772    ekaruk    170    

Настройка отладки на сервере 1С

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

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    38326    169    frkbvfnjh    44    

Методика оптимизации программного кода 1С: проведение документов

Обработка документов HighLoad оптимизация Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    32424    21    dmitrydemenew    85    

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

Инструкции пользователю Инструментарий разработчика v8 v8::УФ Россия Абонемент ($m)

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    19250    52    ROM_NN    11    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    55544    171    ekaruk    33    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    63356    271    informa1555    239    

Рисуем диаграммы в metadata.js

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

Не одной же литературой заниматься?

1 стартмани

20.09.2018    22821    5    1c-intelligence    77    

Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды

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

Позволяет редактировать bsl-модули (или просто текст из буфера обмена, как на скриншоте) с традиционной для 1С подсветкой синтаксиса. Рисует список функций слева в 3-х вариантах: 1. Просто список функций 2. Список функций с группировкой по областям 3. Список вызовов 4. Язык запросов

1 стартмани

10.09.2018    16983    60    albert.goncharov    36    

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

Тестирование и исправление Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

07.10.2014    63855    399    GusevNA    78    

HTTP Сервисы: Путь к своему сервису. Часть 3

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

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    56834    75    dsdred    17    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

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

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    37740    31    informa1555    30    

Тестирование: Просмотр результатов тестов в предприятии 1С – Allure Skin

Инструментарий разработчика Тестирование и исправление v8 1cv8.cf Абонемент ($m)

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

1 стартмани

10.05.2018    26172    6    ivanov660    18    

Разбираемся со структурой правил конвертации данных Промо

Инструментарий разработчика v8 КД Абонемент ($m)

При переносе данных между различающимися данными частенько приходится смотреть в правила. И часто, чтобы выяснить, к примеру, каким документом формируются остатки по конкретному ПВД, нужно заглядывать в него и искать, какое ПКО в нем вызывается. А может вызываться и алгоритм, в котором вызывается ПКО ;-) А если правил много? Чтобы не мучить себя утомительными поисками, предлагаю воспользоваться этой обработкой.

1 стартмани

14.10.2011    26748    163    Meta    17    

Регистры правил [Расширение]

Инструментарий разработчика Информационная безопасность v8 v8::Права УТ11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    23778    30    33lab    5    

Сервер-клиентский вызов

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

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

1 стартмани

16.02.2018    15946    23    ВикторП    17    

V8Unpack4rs: Rust, реализация v8unpack [Экспериментальный]

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

Альтернативная реализация распаковщика/запаковщика* файлов платформы 1С:Предприятие 8.x форматов *.cf (конфигурация), *.epf (обработка) и *.erf (отчет) на Rust. Новая версия поддерживает распаковку и упаковкуфайлов платформы. Для распаковки применен параллельный алгоритм. Если хотите сравнить на Ваших данных попробуйте команды: --parse - для параллельной распаковки; -s --parse - для однопоточной распаковки.

1 стартмани

03.02.2018    19658    31    TIS_08    67    

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена) Промо

Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8 v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Абонемент ($m)

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

4 стартмани

11.11.2015    47982    113    catsam    8    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

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

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    36835    5    kraynev-navi    42    

Программное формирование форматированной строки в стиле html+inline CSS

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

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    44256    46    bonv    13    

Макет в СКД - пример всех возможных типовых вариантов

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

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    28427    81    freelancer    4    

Заполнение шаблона Word на сервере, без использования MS Office (docx -> zip -> xml). Предусмотрен вывод табличных частей

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

Шаблон в Word, управляемые формы. Создание заполнение документа Word (docx -> zip -> xml) по шаблону на сервере без использования MS Office. Предусмотрен вывод табличных частей.

2 стартмани

04.10.2017    38005    282    artms    65    

Вывод части текста жирным в табличном документе

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

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

1 стартмани

27.09.2017    41852    60    Bienko    26    

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С

Инструментарий разработчика v8 ERP2 УТ11 Абонемент ($m)

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    38886    22    ivanov660    46    

Редактор встроенного языка на управляемой форме

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

Вариант решения проблемы редактирования текста (раскрашивание текста) на управляемой форме так же, как и во встроенном редакторе кода 1С.

1 стартмани

31.07.2017    22229    102    Pistolierro    23    

Трансформатор 1С - SQL

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

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

1 стартмани

28.06.2017    43316    395    Synoecium    49    

OneStyle. Улучшенное форматирование кода в конфигураторе

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

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

1 стартмани

19.06.2017    29578    24    Stepa86    46    

"Конвертация данных" + Git. Решение проблемы различий в файлах

Инструментарий разработчика Обмен через XML v8 КД Абонемент ($m)

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    32196    44    stas_ganiev    13    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

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

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

1 стартмани

28.05.2017    31334    224    Bassgood    11    

Набор подсистем "Умные таблицы"

Инструментарий разработчика v8 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    38399    105    Silenser    34    

Распознавание лиц в 1С - забавная штука

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

Распознавание лиц в 1С на основе OpenFace

1 стартмани

11.04.2017    17954    50    nano1c    34    

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений

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

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

1 стартмани

13.03.2017    40371    123    romasna    53    

Отображение активности как в GitHub

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

Обработка шаблон для наглядного отображения активности по дням, аналогично GitHub и GitLab.

1 стартмани

07.03.2017    16307    16    Stepa86    16    

Добавляем http-ссылки на самописную систему учета задач

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

Захотелось мне, чтобы в удаленном git репозитории можно было указывать ссылки на задачи и переходить по ним. Но не очень хотелось тратить на это много времени.

1 стартмани

09.02.2017    23805    6    Stepa86    22    

1С: Gitter 1.1 (Хранилище 1С => Git)

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

Развитие проекта gitter http://infostart.ru/public/273126/ . Позволяет выгружать хранилище 1С в репозиторий GIT.

1 стартмани

01.02.2017    29075    44    Stepa86    20