Александр Кунташов — про 1С и не только
2.46K subscribers
219 photos
10 videos
417 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
Из сегодняшней презентации #Битрикс24 про интеграцию с #1С дословно цитирую Рыжикова:

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


Обещают полноценную двустороннюю интеграцию в реальном времени, поддежку Бухгалтерии предприятия 3.0 ("долгожданая тема" - это как раз про это, ну и в презентации специально сделали пример обмена как раз с БП, т.к. все ее очень давно просят).

Но оговорка "вам будет легче добиться нужного качества реализации" как бы намекает :)

Вся презентация по ссылке https://broadcast.comdi.com/player/rf33uxpk
Ну вот есть же всякие склауд и другие специализированные хостинги для пользователей, а мне как разработчику было бы интересно взять в аренду на время лицензии 1С, но запускать платформу при этом на своих ресурсах. Теоретически сервер лицензирования это должен позволить реализовать. Зачем? Запускать тесты на CI, развернутом где-то в облаке. Поднимать временное рабочее место разработчика в облаке по требованию и т.п.
Кажется, все идёт к тому, чтобы содержание некоторых сайтов немного изменилось.
Примерно, так.
#Секреты1С: Редко используемая конструкция для получения ссылки по УИД

Вам известно, что конструкция

ДокСсылка = Новый ДокументСсылка.РеализацияТоваровУслуг(УИД);


корректна с точки зрения встроенного языка 1С и является аналогом метода ПолучитьСсылку() менеджеров объектов ссылочных типов, но синтаксический контроль такая конструкция ни в конфигураторе, ни в EDT не пройдет?

В гисте по ссылке чуть подробнее (и еще пара альтернатив в дополнение к ПолучитьСсылку()).

https://gist.github.com/kuntashov/cf9a97508120c95c6b1c70ea5d9a4545
Исчерпывающее руководство по написанию своих библиотек на #1Script от Никиты Грызлова - ведущего разработчика кучи библиотек и основного мейнтейнера расширений для поддержки языка 1С в популярных текстовых редакторах Sublime Text, VSCode, Atom. Описан полный цикл от подготовки окружения и заканчивая публикацией библиотеки в хабе.

Мастрид и для тех, кто только начинает использовать OneScript, и для тех, кто давно на нем пишет.

https://infostart.ru/public/791568
Тут тематического музончика подогнали :)

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

У ребят целых три альбома. Я все не осилил, но из того, что послушал Дедлайн, Реквест-респонс и конечно же "Agile scrum? Fuck you, i'm russian. - Х%$к х@*к и в продакшн." зашли отлично :)

https://youtu.be/RU8mFmhcz-s #fun
А че, Клименко сказал, что Россия готова к отключению от глобального интернета.
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С