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

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

@kuntashov_devnotes

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

Showing posts older than #58 · Back to latest

Older Posts 20 shown
Post #57 597
https://isthisdesign.org/

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

Что говорить, Лустин и Серебряная пуля давно пытаются подружить "вселенную 1С" с миром "true-разработки", с одной стороны внедряя промышленные технологии разработки в быт 1сника, с другой - рассказывая про экосистему 1С тем, кто находится за ее пределами.

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

Я Алексея знаю уже очень давно (а SB с самого рождения) и с самого первого знакомства (еще заочного) тоже неоднократно делал эту самую мину. Что говорить, и сейчас иногда все еще делаю. Но я тоже гик как минимум наполовину, поэтому интерес не теряю. При этом спустя все эти годы я не могу не признать, что какими бы непрактичными/нереалистичными, а иногда эпатажными и даже неуместными* мне ни казались предлагаемые сочетания "1C и <ЧтоТо>", в конечном итоге от этой движухи всегда появлялся положительный эффект в виде решения реальных проблем или идей, наталкивающих на такие решения.

Я на ГикФест поехать хочу, и, надеюсь, удастся в ближайшее время утрясти свои планы на конец мая и договориться с близкими. Так что, рад буду пересечься, коллеги :)

* Нет, я не про попытку встроить чип с 1С на борту в человека, на это пока даже SB не решаются, хотя это не точно. И нет, вопросы этики тут, очевидно, не стоят, т.к. сам факт программирования на 1С все эти вопросы снимает автоматически, если вы понимаете, о чем я.
#1С #ГикФест
isthisdesign.org Хакатон по 1С и не только Хакатоны и лабораторные работы "Композитная архитектура 1C" с управляемым качеством
Post #56 516
Самая первая порция коммитов в #xUnitFor1C выглядит символично в виде единицы :) Кажется, это вообще, самое первое появление кода #1С на GitHub.
Post #55 525
#СекретыБитрикс24

Новая подстава от 1С-трекера: контрагентов-индивидуальных предпринимателей он выгружает некорректно - они попадают в Контакты, а должны - в Компании. (Воспроизводится во всех версиях 1С-трекера, включая текущую 2.2.)

Ок, про этот случай, хоть и с натяжкой, но можно было бы сказать, что он частный и не всегда восстребованый, если бы не одно: если у этого ИП есть сотрудники и мы указываем их в УТ в качестве контактных лиц, то 1С-трекер при выгрузке упадет с ошибкой вида:

Ошибки: Batch row 0:Company not found. Field COMPANY_ORIGIN_ID - \u0027ad9987ac-00ea-11e8-96f6-70e28412689c\u0027 is invalid


При этом не выгрузится ни текущий пакет, ни последующие. Из текста ошибки рядовой пользователь ничего понять не сможет (вообще, с обработкой ошибок в 1С-трекере беда: если с точки зрения Б24 данные невалидны, например, пользователь ввел некорректный email, то не будет загружен весь пакет и сообщение об ошибке не блещет понятностью; логично делать валидацию на стороне 1С, но нет, почему-то не сделали).

Причина ошибки вот в чем. В УТ11 в справочнике Контрагенты есть два одинаковых по смыслу реквизита: ЮрФизЛицо (тип ПеречислениеСсылка.ЮрФизЛицо) и ЮридическоеФизическоеЛицо (ПеречислениеСсылка.ЮридическоеФизическоеЛицо). Такая ситуация, честно говоря, выглядит нелепо, но она объяснимая: второй реквизит - служебный, в конфигурации присутствует для совместимости с Библиотекой типов и никак явно в УТ не используется (заполняется автоматически по данным реквзита ЮрФизЛицо). У ЮрФизЛица диапазон значений больше, и когда ЮрФизЛицо = ИндивидуальныйПредприниматель, то реквизит ЮридическоеФизическоеЛицо становится равным ФизическоеЛицо (т.к. там всего два допустимых значений - ФизическоеЛицо и ЮридическоеЛицо).

В 1С-трекере отбор контрагентов, которых надо выгрузить в качестве Контактов осуществляется как раз по реквизиту ЮридическоеФизическоеЛицо, в результате сам контрагент выгружается в Контакты, а не в Компании. В то же время его контактные лица выгружаются в Б24 в Контакты с указанием ссылки на компанию-владельца (тот самый COMPANY_ORIGIN_ID в сообщении с ошибкой), а компании с такой ссылкой в Б24 не существует.

Для решения проблемы нужно в СКД СхемаВыгрузкиКомпаний в запросе изменить условие запроса с

Контрагенты.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо)

на

Контрагенты.ЮрФизЛицо <> ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ФизЛицо)
Post #53 455
Прекрасный симулятор управления проектами от Бюро Горбунова
https://bureau.ru/books/fff/demo/17 из интерактивной книги Товеровского

#УправлениеПроектами
Post #52 547
Давно не имел дела с #1С:УНФ (года три уже), "но вот опять" и не могу нарадоваться, какой удобной и продуманной по крайней мере с точки зрения UI ее сделали. Вспомнились тут хейтеры управляемых форм, которым гибкости ОФ не хватает, а следом вспомнилась и любимая картинка про обычные формы :)
Post #51 579
#1C #UX "Гибкость" обычных форм 1С во всей красе
Post #49 474
https://www.corpsoft24.ru/about/news/razyasnenie-intsidenta/

Корпсофт написал официальное письмо, почему их ДЦ лежали с пятницы (а как известно, с ним лежал весь RU-сегмент облачного #Битрикс24, а это Россия, Беларусь и Казахстан). Если кратко: во всем виноваты (русские?) хакеры. Якобы была атака на канал связи между ДЦ, а коммутаторов у них на самом деле больше, чем один, как ругался Сергей Рыжиков у себя в ФБ. Заявление в отдел "К" на хакеров написали.

Если честно, в данной ситуации не удивляет ни сам факт падения, ни причина (независимо от ее правдивости), а то, что официально написали только вчера а, в сегодняшнем пресс-релизе добавили оговорку в духе "вот теперь нас вынудили написать":

Читая негативные, эмоциональные, искренние, хотя и не всегда обоснованные комментарии в интернете, мы понимаем, что просто обязаны дать официальное объяснение по поводу произошедшего.
www.corpsoft24.ru Статья от компании CorpSoft24 – Разъяснение инцидента На данной странице размещена статья от компании CorpSoft24 – Разъяснение инцидента
Post #48 413
#codesmells: Как не надо именовать функции и переменные.
Post #47 475
#1Script #webdev

https://infostart.ru/public/783435/

Андрей Овсянкин осваивает новую нишу для OneScript'а - веб-приложения. Безусловно целевая аудитория есть, и поэтому мне не понятен троллинг коллег.

Кстати, на вопрос "Зачем?", который в разных формах периодически задают есть универсальный ответ (если другие не нравятся) - "Just For Fun", который еще Линус Торвальдс использовал в качестве названия своей книги (рекомендую). И очень круто, когда этот фан перерастает в классный открытый, восстребованный продукт с одним из лучших 1Сных коммьюнити.
infostart.ru Веб-разработка на 1Script. Глава 1 Разрабатывать веб-приложения должно быть просто. И для этого 1С-ник не должен страдать, изучая десятки и сотни побочных технологий. В конце прошлого года я анонсировал разработку движка веб-приложений на языке 1С. Я планирую выпустить серию статей, оформленных…
Post #46 507
#webdev #restapi
http://standards.rest/

Ссылки на различные стандарты и спецификации, которыми рекомендуется руководствоваться при создании REST API
Post #45 450
1сники такие 1сники. Для справки, Serf (англ.)=Раб/крепостной/ишак (Имелось в виду, конечно, surf :)
Post #43 400
#СекретыБитрикс24

Битрикс24 сегодня снова прилег и с учетом того, что российский сегмент облака Б24 последнее время часто стало колбасить, то становится очень актуальным лайвхак (только для новых порталов!):

Для тех кому не критично* соблюдение ФЗ-242 нужно регистрироваться на https://www.bitrix24.com/
После регистрации внизу страницы переключаете язык на русский и наслаждаетесь бесперебойной работой, не зависящей от коммутаторов российских провайдеров.

* Ну, например тестовые порталы для проверки своих решений или портал для личных целей (как система управления задачами).
Bitrix24 Bitrix24 - Free online workspace for your business: CRM, tasks, online meetings, and more. An all-in-one free platform to manage your team and run your sales, Bitrix24 is designed to be seamlessly integrated into all your business processes and help you manage them with the highest precision and efficiency.
Post #42 360
#СекретыБитрикс24

При разработке интеграции Б24 с 1С:Бухгалтерией наткнулся на ошибку получения реквизитов в пакетном запросе.

Делаю пакетный запрос с целью получить реквизиты компании, связанные со счетом:

BX24.callBatch({
lnk: ['crm.requisite.link.get', { entityTypeId: 5, entityId:63 }],
req: ['crm.requisite.get', { id : '$result[lnk][REQUISITE_ID]'}]
},
function(result) {
console.log(result.req.data());
}
);


Получаю ошибку при выполнении второго запроса req:

{"req":{"error":"","error_description":"Resource \u0027GET\u0027 is not supported in current context."}}


Если задать id в запросе req статично, то результат возвращается корректно.
Это методы реквизитов не поддерживают макросы в составе пакетного запроса или у меня глаз замылился и я макрос не правильно написал?

Та же ошибка возникает, если вместо макроса $result[lnk][REQUISITE_ID] передать конкретный ID (но первый запрос оставить).

Если первый запрос удалить, а во втором указать конкретное значение, то ошибки не будет.
Также ошибки не будет, если выполнить в пакете несколько запросов `crm.requisite.get. Т.е. ошибка возникает только если одновременно выполняются два указанных вида запроса.

Отладка кода в коробке показала что есть ошибка в методе CCrmRestService::onRestServiceMethod (http://bxapi.ru/src/?module_id=crm&name=CCrmRestService::onRestServiceMethod): для методов crm.requisite.* и crm.requisite.link.* используются разные прокси-объекты, но кэшируются они все по одному и тому же ключу "requisite", в итоге в пакетном запросе кто первый из них в пакете вызывается, то прокси того объекта сохраняется в кэш и далее только он и работает для обоих методов, что и приводит к указанной ошибке.

Написал в поддержку Б24 в чате, а пока обход один: разделить один пакет на два: в одном получить ID связанных со счетом реквизитов, а в другом уже получать сами реквизиты.
bxapi.ru CCrmRestService::onRestServiceMethod: метод Битрикс Поиск по исходникам системы Битрикс. Весь код как на ладони, удобно структуированный. Учитесь по исходникам.
Post #41 321
Post #40 302
https://security.googleblog.com/2017/09/chromes-plan-to-distrust-symantec.html (нашлась и более ранняя публикация об этом на русском https://habrahabr.ru/post/334392/).

Хром начиная с релиза № 66 перестанет доверять SSL-сертификатам, выданным Symantec'ом до 1 июня 2016 года, а это сертификаты, выданные Thawte, VeriSign, Equifax, GeoTrust, RapidSSL, т.к. оказывается это все бренды Symantec.

Я наткнулся на это увидив сегодня в консоли хрома предупреждение:

The SSL certificate used to load resources from https://example.com will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.

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

Как я понимаю, это все продолжение вот этой вот (https://habrahabr.ru/post/267583/ ) истории с самовольным выпуском Symantec'ом сертификата для google.com (официально - в рамках тестирования инфраструктуры).

Удивляет меня то, как это сертификаты GeoTrust могли продавать после инцидента, ведь они довольно весомых денег стоят.
Google Online Security Blog Chrome’s Plan to Distrust Symantec Certificates Posted by Devon O’Brien, Ryan Sleevi, Andrew Whalley, Chrome Security This post is a broader announcement of plans already finalized on t...
Post #39 282
Можно ли интегрировать 1С:CRM компании Рарус и Битрикс24?
#СекретыБитрикс24

Вопрос: Кто встречал - http://solutions.1c.ru/catalog/crm-corp-20 для нее есть 1с-трекер, модуль обмена (заказы, котрагенты, товары)?

Если речь про чистую 1C:CRM 2.0, то, например, там нет такой сущности, как "Заказ" или "Счет", нет и модуля "Обмен с сайтом", значит штатная для Б24 интеграция с 1С (заказы, контрагенты, товары) работать не будет.

1С-трекер технически интегрировать можно, но потребуется его адаптация: в 1C:CRM есть необходимая структура справочников, но она немного отличается по составу реквизитов от УТ11 и других типовых конфигураций.

Но на самом деле довольно часто 1C:CRM не самостоятельно используют, а встраивают в УТ11, поэтому если в вашем случае это так, то тогда настройка интеграции сводится к интеграции с УТ11 (сможете и обмен заказами использовать, и 1С-трекер).
Post #38 262

Forwarded from Александр Кунташов

Если вообще, то выборка элементов порционная, по 50 элементов. В ответе вместе с первыми 50 элементами будет еще свойтво next . Для получения очередной порции данных нужно повторить исходный запрос добавив еще параметр start, значением у которого указать значение, полученное в next.

Если на js, то в битриксовой JS-библиотеке для работы с REST API у полученного result есть методы more() и next() которые реализуют описанный выше алгоритм "автоматически". Пример есть здесь: https://dev.1c-bitrix.ru/rest_help/crm/company/crm_company_list.php

Пакетным (батч) - запросом теоретически можно (на практике не делал), но его нужно формировать динамически (количество запросов в пакете будет КоличествоЭлементов в списке всего / 50). Значение next из предыдущего запроса нужно будет передавать как start = $result[qN-1][next], где qN-1 - идентификатор предыдущего запроса.
Post #37 244
#СекретыБитрикс24

Исходный вопрос: все привет. кто-то может подсказать пример получения всех, а не 50 элементов? я знаю, что есть метод batch, никак не пойму как правильно его использовать.
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →