Александр Кунташов — про 1С и не только
2.46K subscribers
219 photos
10 videos
417 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
А че, Клименко сказал, что Россия готова к отключению от глобального интернета.
Forwarded from Cybersecurity & Co. 🇺🇦 (Alexander V. Litreev)
⚡️Роскомнадзор заблокировал более 4000 адресов Amazon AWS

Слабоумие и отвага! Начинаем понедельник (да, я только встал) с абсурдных новостей: Роскомнадзор заблокировал более 4000 (четырех тысяч) адресов Amazon AWS, на основании постановления Генпрокуратуры (внимание) от 2015 года!

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

Постановление №27-31-2015/Ид4082-15, дата принятия решения 04.12.2015, дата блокировки 11.03.2018.

Вот список адресов (он не совсем полный, но большая часть там):
https://pastebin.com/sv7455LL

Вот, например, один из таких адресов:
https://reestr.rublacklist.net/rec/323957/


Жаров, хватит шатать интернет.
#Битрикс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/ горячие обсуждения и процитированные обещания ТП исправить в ближайшем обновлении.

Там в этой ветке есть файлик с нужным исправлением, якобы предоставленный ТП, но я пока его не успел посмотреть/сравнить с ориганалом, а просто слепо ставить очевидно не стоит.
#1С

Недавно в @Unofficial1C была дискуссия насчет полезности комментариев в коде и я высказался, что мой опыт заставляет к комментариям относиться с большим недоверием и надеяться на них в последнюю очередь.

Аргумент очевиден: разработчики забывают обновлять комментарии.

Я тогда поленился приводить примеры из типовых, а сегодня мне один начинающий в 1С коллега обратился с очередным WTF (в оригинале вопрос был "Как это использовать?" - см. картинку ниже) и я вспомнил то обсуждение.

Как теперь с этим жить?

Когда есть легаси API, которое нужно вызвать из своего кода, а с документацией "что-то не то":

1. Забыть про комментарии, как источник информации (если они устарели, они будут дезинформировать - пример на скриншоте ниже отлично это иллюстрирует).

2. Читать примеры клиентского кода (имею в виду код, который вызывает процедуру/функцию, информация по которой вам нужна). На этом этапе на исследуемый метод смотрим как на "черный ящик". В идеальном мире нужный клиентский код находится в юнит-тестах (xUnitFor1C) или в реализации сценариев поведения (Vanessa Behavior), но, к сожалению, наш мир очень далек от идеального.

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

3. Читать реализацию метода, если что-то из клиентского кода не очевидно. Опять же, не без помощи отладчика.

Когда написал код и возникло желание написать к нему комментарий:

1. Написать юнит-тест (в идеале - написать сценарий поведения и реализовать шаги по его автоматической проверке); гуглите: xUnitFor1C, Vanessa Behavior, Тестер 1С;

2. Выполнить рефакторинг кода таким образом, чтобы минимизировать необходимость каких-либо дополнительных пояснений.
Пример из типовой БП 3.0 одного из последних релизов #1С #codesmells
#1С в очередной раз идут своим путем и... пишут аналог Jenkins. Скрипты - на питоне, при этом оговариваются Предвкушая возможные вопросы вида " - Теперь нам еще Python и YAML учить?. Религия использовать #1Script как всегда не позволяет.

https://wonderland.v8.1c.ru/blog/1s-tsentr-administrirovaniya-administrirovanie-eto-prosto/
В январе в официальном аккаунте фирмы #1С на Github появился загадочный репозиторий https://github.com/1C-Company/Catalog из одного файла README.md, над которым велась очень бурная работа - в него даже пул-реквест от разработчика, не аффилированного с фирмой 1С приняли.

В файле одна строчка: 1С:Номенклатура - единый каталог стандартизированных описаний товаров и услуг в B2B сегменте.

А сегодня вышло инфописьмо https://1c.ru/news/info.jsp?id=24270, анонсирующее пилотный запуск нового продукта 1С:Номенклатура - единый каталог товаров в 1С:Предприятии. Это не просто программное решение, это сервис по подписке.

Все сегодня влюблены в возможность сервиса 1С:Контрагент добавлять контрагента со всеми (ну почти) его реквизитами просто введя ИНН (обожаю, как это работает в БП).

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

* производители и поставщики получают возможность публиковать в каталоге свои товары/продукцию;
* для взаимодействующих друг с другом контрагентов этот универсальный каталог будет "общим знаменателем" при сопоставлении номенклатуры во время электронного документооборота
* каталог можно будет использовать в качестве стандарта внутри своего предприятия и не изобретать свой собственный классификатор.

Подписка будет стоить 10к руб. за 10к карточек/год (или 90к за 100к карточек/год). Пока идет пилот на 1 год дают бесплатно 10к карточек, если у вас действительна подписка на ИТС.

Мне кажется, это очень крутое начинание и, надеюсь, у сервиса появится публичное API и возможность, его использовать не только из продуктов на платформе 1С.
Первый коммит в официальный репо #1С:Номенклатура (видимо, здесь будет публичный код клиента данного сервиса)
Скриншот из официальной пользовательской документации к модулю обмена 1С и #БитриксУправлениеСайтом https://www.1c-bitrix.ru/download/1c/docs/User%20manual%207.docx
Не знал, что подать заявку на сертификацию #1С:Совместимо своего решения может не только любая компания (даже не партнер фирмы 1С), но и физ. лицо. Это очень интересно, но не столько из-за возможности получить шильдик, сколько из-за возможности опубликовать анонс своего решения в каналах информирования 1С - это большая аудитория.

https://infostart.ru/public/801229/
Рубрика "Великие цитаты великих людей".

Александр Орефков :

На самом деле одинэсники вовсю используют самые лучшие паттерны, тщательно отобранные заботливыми методистами и разработчиками платформы 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С
Неудачное решение - дать одинаковые имена объекту и его ТЧ: ломает штатное поведение запросов и конструктора запросов. Обход: задать в запросе псевдоним, отличный от имени объекта #codesmells #УНФ
Очередной (давно, кстати, не было) евангелистический 1С:Лонгрид от Петра Грибанова на хабре. На этот раз раскрыта кухня автоматизации процессов разработки технологической платформы.

(спойлер) Используют: Jenkins, Apache JMeter, 1С:ТестЦентр и собственные велосипеды, например для "визуального тестирования" (судя по описанию - аналог SikuliX). А еще (цитирую): "Для целей тестирования в этом режиме доступно написание скриптов на языке 1С. В рамках скрипта доступны специальные объекты для целей тестирования." Интересно, это свой внутренний #1Script или просто служебная конфигурация на 1С?

#1С

https://habrahabr.ru/company/1c/blog/352210/
Кажется, это первая публикация в 1С:Справочнике внедренных решений, в которой упоминается использование "true open source" решения на 1С: https://1c.ru/rus/partners/solutions/solution.jsp?SolutionID=912372

Поздравляю Леонида Паутова, команду SilverBulleters и всех контрибуторов проекта Vanessa Behavior!

#1С #BDD
Кстати, команда SB на днях зарелизила ADD - Automation Driven Development - продукт, объединяющий в себе #xUnitFor1C и #VanessaBehavior.

Со слов Артура Аюханова все основные усилия команды будут теперь сосредоточены на развитии инструментов именно в составе ADD, а поддержку xUnitFor1C и VanessaBehavior по крайней мере со стороны команды SB постепенно прекратят. В связи с этим рекомендуют переходить на ADD.

У меня пока чувства двоякие. Рациональная часть меня поддерживает такое объединение. Но все же есть тревога насчет того, что направление развития инструмента будет сильнее зависеть от потребностей и политики SB.

https://github.com/silverbulleters/add
Недавно у нас в Саратове проходила конференция по тестированию ПО в формате "школы" - TMPA School 2018.
На днях компания Exactpro Systems, организовавшая эту конференцию, выложила на своем канале в публичный доступ видео всех выступлений.

Из того, что я посмотрел очень рекомендую две лекции Александра Александрова из Luxoft'а (он в рамках конференции по сути прочитал полноценный курс по тестированию):

* Оценка трудозатрат на тестирование - https://www.youtube.com/watch?v=S_MxC1m2_E0
Мне здесь особенно интересными показались выводы про специфику тестирования в проектах сопровождения.

* Автоматизация тестирования: https://www.youtube.com/watch?v=p_IrFET_d88
Взгляд на автоматизацию тестирования через призму экономической целесообразности.

Рекомендую всем, кто так или иначе касается вопросов тестирования ПО (менеджерам проектов, тестировщикам, разработчикам).

#Тестирование
Цветовые темы для управляемого интерфейса #1С подогнали (будет в 8.3.13).

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