ar
Feedback
Александр Кунташов — про 1С и не только

Александр Кунташов — про 1С и не только

الذهاب إلى القناة على Telegram

Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.

إظهار المزيد
2 544
المشتركون
لا توجد بيانات24 ساعات
+37 أيام
-330 أيام
أرشيف المشاركات
Статья про #TDD с провокационным заголовком https://habrahabr.ru/post/353312/ Задело в статье (я с этими утверждениями согласен): - Лучшая документация - исполняемые примеры кода - НО: Юнит-тесты или реализация шагов BDD-тестов являются более актуальными (по сравнению с примерами в документации) - НО: В юнит-тестах слишком много инфраструктурного кода, который мешает увидеть те самые примеры, которые должны служить документацией Автор предлагает решение в виде инструмента https://github.com/Igmat/baset (для JS).

На прошлой неделе по производственным нуждам потребовалось допиливать выгрузку в Битрикс для конфигурации на #1С:Предприятии 7.7. Не знаю, знакомо ли вам чувство, когда вы видите с любовью написанный кем-то код? :) Но это был тот самый случай :) ООП при помощи 1C++, прямые запросы, прокаченные ToySQL, FormEx. Контроль версий в GIT при помощи, естественно, gcomp. На современных ресурсах винтажный MFC-стайл интерфейс просто летает :)

А кто еще помнит, что отладчик в #1С:Предприятие 7.7 - это отдельное приложение? :)
А кто еще помнит, что отладчик в #1С:Предприятие 7.7 - это отдельное приложение? :)

Цветовые темы для управляемого интерфейса #1С подогнали (будет в 8.3.13). https://wonderland.v8.1c.ru/blog/podderzhka-korporativnogo-stilya/

Недавно у нас в Саратове проходила конференция по тестированию ПО в формате "школы" - TMPA School 2018. На днях компания Exactpro Systems, организовавшая эту конференцию, выложила на своем канале в публичный доступ видео всех выступлений. Из того, что я посмотрел очень рекомендую две лекции Александра Александрова из Luxoft'а (он в рамках конференции по сути прочитал полноценный курс по тестированию): * Оценка трудозатрат на тестирование - https://www.youtube.com/watch?v=S_MxC1m2_E0 Мне здесь особенно интересными показались выводы про специфику тестирования в проектах сопровождения. * Автоматизация тестирования: https://www.youtube.com/watch?v=p_IrFET_d88 Взгляд на автоматизацию тестирования через призму экономической целесообразности. Рекомендую всем, кто так или иначе касается вопросов тестирования ПО (менеджерам проектов, тестировщикам, разработчикам). #Тестирование

Кстати, команда SB на днях зарелизила ADD - Automation Driven Development - продукт, объединяющий в себе #xUnitFor1C и #VanessaBehavior. Со слов Артура Аюханова все основные усилия команды будут теперь сосредоточены на развитии инструментов именно в составе ADD, а поддержку xUnitFor1C и VanessaBehavior по крайней мере со стороны команды SB постепенно прекратят. В связи с этим рекомендуют переходить на ADD. У меня пока чувства двоякие. Рациональная часть меня поддерживает такое объединение. Но все же есть тревога насчет того, что направление развития инструмента будет сильнее зависеть от потребностей и политики SB. https://github.com/silverbulleters/add

Кажется, это первая публикация в 1С:Справочнике внедренных решений, в которой упоминается использование "true open source" решения на 1С: https://1c.ru/rus/partners/solutions/solution.jsp?SolutionID=912372 Поздравляю Леонида Паутова, команду SilverBulleters и всех контрибуторов проекта Vanessa Behavior! #1С #BDD

Очередной (давно, кстати, не было) евангелистический 1С:Лонгрид от Петра Грибанова на хабре. На этот раз раскрыта кухня автоматизации процессов разработки технологической платформы. (спойлер) Используют: Jenkins, Apache JMeter, 1С:ТестЦентр и собственные велосипеды, например для "визуального тестирования" (судя по описанию - аналог SikuliX). А еще (цитирую): "Для целей тестирования в этом режиме доступно написание скриптов на языке 1С. В рамках скрипта доступны специальные объекты для целей тестирования." Интересно, это свой внутренний #1Script или просто служебная конфигурация на 1С? #1С https://habrahabr.ru/company/1c/blog/352210/

Неудачное решение - дать одинаковые имена объекту и его ТЧ: ломает штатное поведение запросов и конструктора запросов. Обход:
Неудачное решение - дать одинаковые имена объекту и его ТЧ: ломает штатное поведение запросов и конструктора запросов. Обход: задать в запросе псевдоним, отличный от имени объекта #codesmells #УНФ

Обновлен курс по разработке приложений для #Битрикс24 https://m.facebook.com/story.php?story_fbid=1145971115540600&id=100003831678915

Рубрика "Великие цитаты великих людей". Александр Орефков : На самом деле одинэсники вовсю используют самые лучшие паттерны, тщательно отобранные заботливыми методистами и разработчиками платформы 1С. Когда ты пишешь свой тупой код для простенькой управляемой формы, на самом деле ты юзаешь model-view-controller с double-way data binding в three-layered-data-app-engine, сдобренный high level object-relation-mapping на базе declarative metadata description, имеющей свой platform-independed query language, c declarative data-driven user interface, complete transparent serialization и domain-oriented programming language. В чём разработчики 1С отличаются от западных коллег, так это в пиаре. Те любят любой фигне дать громкое имя и носиться с ней, как с писаной торбой. #1С

Не знал, что подать заявку на сертификацию #1С:Совместимо своего решения может не только любая компания (даже не партнер фирмы 1С), но и физ. лицо. Это очень интересно, но не столько из-за возможности получить шильдик, сколько из-за возможности опубликовать анонс своего решения в каналах информирования 1С - это большая аудитория. https://infostart.ru/public/801229/

Скриншот из официальной пользовательской документации к модулю обмена 1С и #БитриксУправлениеСайтом http://www.1c-bitrix.ru/d
Скриншот из официальной пользовательской документации к модулю обмена 1С и #БитриксУправлениеСайтом http://www.1c-bitrix.ru/download/1c/docs/User%20manual%207.docx

Первый коммит в официальный репо #1С:Номенклатура (видимо, здесь будет публичный код клиента данного сервиса)
Первый коммит в официальный репо #1С:Номенклатура (видимо, здесь будет публичный код клиента данного сервиса)

В январе в официальном аккаунте фирмы #1С на Github появился загадочный репозиторий https://github.com/1C-Company/Catalog из одного файла README.md, над которым велась очень бурная работа - в него даже пул-реквест от разработчика, не аффилированного с фирмой 1С приняли. В файле одна строчка: 1С:Номенклатура - единый каталог стандартизированных описаний товаров и услуг в B2B сегменте. А сегодня вышло инфописьмо http://1c.ru/news/info.jsp?id=24270, анонсирующее пилотный запуск нового продукта 1С:Номенклатура - единый каталог товаров в 1С:Предприятии. Это не просто программное решение, это сервис по подписке. Все сегодня влюблены в возможность сервиса 1С:Контрагент добавлять контрагента со всеми (ну почти) его реквизитами просто введя ИНН (обожаю, как это работает в БП). 1С:Номенклатура - его аналог для товаров: ввели штрихкод и сразу получили у себя заполненную карточку, включая, если верить анонсу, изображение товара. Но, естественно, не только: * производители и поставщики получают возможность публиковать в каталоге свои товары/продукцию; * для взаимодействующих друг с другом контрагентов этот универсальный каталог будет "общим знаменателем" при сопоставлении номенклатуры во время электронного документооборота * каталог можно будет использовать в качестве стандарта внутри своего предприятия и не изобретать свой собственный классификатор. Подписка будет стоить 10к руб. за 10к карточек/год (или 90к за 100к карточек/год). Пока идет пилот на 1 год дают бесплатно 10к карточек, если у вас действительна подписка на ИТС. Мне кажется, это очень крутое начинание и, надеюсь, у сервиса появится публичное API и возможность, его использовать не только из продуктов на платформе 1С.

#1С в очередной раз идут своим путем и... пишут аналог Jenkins. Скрипты - на питоне, при этом оговариваются Предвкушая возможные вопросы вида " - Теперь нам еще Python и YAML учить?. Религия использовать #1Script как всегда не позволяет. https://wonderland.v8.1c.ru/blog/1s-tsentr-administrirovaniya-administrirovanie-eto-prosto/

Пример из типовой БП 3.0 одного из последних релизов #1С #codesmells
Пример из типовой БП 3.0 одного из последних релизов #1С #codesmells

#1С Недавно в @Unofficial1C была дискуссия насчет полезности комментариев в коде и я высказался, что мой опыт заставляет к комментариям относиться с большим недоверием и надеяться на них в последнюю очередь. Аргумент очевиден: разработчики забывают обновлять комментарии. Я тогда поленился приводить примеры из типовых, а сегодня мне один начинающий в 1С коллега обратился с очередным WTF (в оригинале вопрос был "Как это использовать?" - см. картинку ниже) и я вспомнил то обсуждение. Как теперь с этим жить? Когда есть легаси API, которое нужно вызвать из своего кода, а с документацией "что-то не то": 1. Забыть про комментарии, как источник информации (если они устарели, они будут дезинформировать - пример на скриншоте ниже отлично это иллюстрирует). 2. Читать примеры клиентского кода (имею в виду код, который вызывает процедуру/функцию, информация по которой вам нужна). На этом этапе на исследуемый метод смотрим как на "черный ящик". В идеальном мире нужный клиентский код находится в юнит-тестах (xUnitFor1C) или в реализации сценариев поведения (Vanessa Behavior), но, к сожалению, наш мир очень далек от идеального. К счастью, даже самый невнятный клиентский код можно посмотреть в отладчике, чтобы понять, какие параметры (тип, примеры значений) передавать и какой результат метод вернет. 3. Читать реализацию метода, если что-то из клиентского кода не очевидно. Опять же, не без помощи отладчика. Когда написал код и возникло желание написать к нему комментарий: 1. Написать юнит-тест (в идеале - написать сценарий поведения и реализовать шаги по его автоматической проверке); гуглите: xUnitFor1C, Vanessa Behavior, Тестер 1С; 2. Выполнить рефакторинг кода таким образом, чтобы минимизировать необходимость каких-либо дополнительных пояснений.

#Битрикс24 #БитриксУправлениеСайтом Горячие новости с полей. Традиционно с весенними обновлениями прилетели ошибки обмена: 1. Вчера на моем тестовом стенде, на котором я гоняю время от времени штатный обмен через модуль "Обмен с сайтом" УТ11 с облачным порталом Б24 , стала возникать ошибка "Ошибка проверки источника запроса. Обновите модуль обмена или отключите проверку в настройках компонента". Естественно, в облаке никаких настроек сделать нельзя. В ТП пока не писал, т.к. релиз УТ у меня не самый новый. Но что-то мне подсказывает, что что-то на стороне Б24 они обновили... 2. Клиент вчера пожаловался, что не выгружаются статусы счетов. Посмотрел журнал регистрации в 1С, а там с 07 марта (блин, ну кто выкатывает релизы в пятницу, тем более в такую "длинную"?!) такая красота:
Argument 2 passed to CSaleOrderLoader::nodeHandler() must be an instance of CXMLFileStream, none given, called in /home/bitrix/www/bitrix/modules/main/classes/general/xml.php on line 1148 
По ссылке https://1c.1c-bitrix.ru/support/forum/forum26/topic106313/ горячие обсуждения и процитированные обещания ТП исправить в ближайшем обновлении. Там в этой ветке есть файлик с нужным исправлением, якобы предоставленный ТП, но я пока его не успел посмотреть/сравнить с ориганалом, а просто слепо ставить очевидно не стоит.