ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

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

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

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

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

إظهار المزيد
2 569
المشتركون
+124 ساعات
+27 أيام
+430 أيام
أرشيف المشاركات
1сники такие 1сники. Для справки, Serf (англ.)=Раб/крепостной/ишак (Имелось в виду, конечно, surf :)

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

#СекретыБитрикс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 связанных со счетом реквизитов, а в другом уже получать сами реквизиты.

#webdev Очередной чеклист по верстке и фронтенду. https://habrahabr.ru/company/netologyru/blog/347740/

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 могли продавать после инцидента, ведь они довольно весомых денег стоят.

Можно ли интегрировать 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С-трекер).

Если вообще, то выборка элементов порционная, по 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 - идентификатор предыдущего запроса.

#СекретыБитрикс24 Исходный вопрос: все привет. кто-то может подсказать пример получения всех, а не 50 элементов? я знаю, что есть метод batch, никак не пойму как правильно его использовать.

Можно ли интегрировать облачную Бухгалтерию предприятия (1С:Фреш) с облачным Битрикс24? #СекретыБитрикс24 Штатно в Бухгалтерии нет модуля "Обмен с сайтом", значит настроить обмен счетами штатными средствами между 1С и Б24 нельзя. Функционал конфигураций на технологии 1С:Фреш можно кастомизировать только при помощи внешних обработок и/или расширений. 1С-трекер (выгрузка контрагентов из 1С в Б24) требует внедрения в конфигурацию, поэтому его нельзя установить. Единственная штатная интеграция, выпущенная 1С-Битриксом, доступная сейчас в виде расширения, это Экспорт печатных форм и отчетов (https://1c.1c-bitrix.ru/intranet/download.php?id=6790661), теоретически (на практике я пока пытался этого сделать), это расширение можно установить в облако Фреш (я имею в виду https://1cfresh.com/, а не частное облако 1С:Фреш). Как добавить расширение в облаке 1С:Фреше описано здесь: https://1cfresh.com/articles/so_addprocess Есть возможность запустить приложение 1С:Фреш внутри Битрикс24. Это не совсем полноценная интеграция, приложения так и остаются независимыми просто 1С запускается внутри интерфейса Б24, тем не менее, кому-то может подойти: https://www.bitrix24.ru/apps/?app=bitrix.1cfresh Ну и, наконец, есть вариант - написать для интеграции свое расширение для 1С (или внешнюю обработку), используя REST API Битрикс24.

#hyper #fish В Гипере с темой Solirized Light стало не видно автоподсказку для дополнения в fish. В xterm эта подсказка выводилась серым цветом. По исходникам fish нашел, что цвет автоподсказки задается в переменной окружения fish_color_autosuggestion, в которой нужно указать hex-код цвета (как в CSS, только без #). Задал новый цвет командой set -x fish_color_autosuggestion 839496 и все заработало.

Скайп - пожалуй, одно из самых ужасных приложений Микрософта. Под линуксом - точно. Много лет пользуюсь Linux Mint, в настоящий момент у меня релиз 17.3 Rosa, который базируется на Ubuntu 14 Trusty. Я редко пользуюсь скайпом и у меня была установлена какая-то древняя версия. И вот мне в пятницу понадобилось созвониться по скайпу и обнаружилось, что эта старая версия больше не работает. Но ура, есть официальный релиз 8.13 для линукса. Но, как уже можно догадаться, он не заработал. Точнее так, я его успешно установил из официального пакета Микрософта, но голос и видео не работали. У меня и раньше время от времени были проблемы со звуком, и я отложил разборки на выходные, т.к. разговор клиент перенес на понедельник. Сегодня я запускаю скайп, чтобы разобраться с проблемами со звуком, но мне открывается белое окно. Перезапускаю снова - та же проблема. Запускаю под рутом - и снова белое как лист бумаги окно. Погуглил и получил более, чем исчерпывающий ответ: https://answers.microsoft.com/en-us/skype/forum/skype_linux-skype_startms-skype_installms/upgraded-to-the-latest-skype-linux-version-but В общем, проблема массовая для пользователей Debian, Ubuntu, Mint'а. У разных людей работают разные решения: * кому-то помог запуск под рутом (sudo /usr/share/skypeforlinux/skypeforlinux) * кому-то помог откат до версии 8.11 (sudo apt-get install -y skypeforlinux=8.11.0) * кому-то помог многократный запуск (skypeforlinux; skypeforlinux) * кому-то помогла задержка перез запуском скайпа (sleep 30; env PULSE_LATENCY_MSEC=30 skypeforlinux) У меня заработал третий вариант - но с поправкой: вызывать скайп нужно трижды ("Сне-гу-роч-ка! Сне-гу-роч-ка! Сне-гу-роч-ка!"). Интерфейс скайпа тогда загрузился, но делать вызовы я так и не смог: кнопки не нажимаются (ну или ничего не происходит при нажатии). В итоге я сначала попробовал веб-версию скайпа (https://web.skype.com) и в ней как оказалось звонки работают. Удивительно, что не работает skypeforlinux, ведь это судя по комментариям - та же веб версия, просто обернутая в десктопное приложение (вроде бы это веб-кит). Там же на форуме поддержки нашел альтернативу для десктопа - Ghetto Skype (https://github.com/stanfieldr/ghetto-skype) и в ней тоже все ок, правда как может быть иначе - это по сути та же веб-версия, "обернутая" в Electron.

#СекретыБитрикс24 Не выполняется обмен Б24 с 1С с нужной периодичностью. Почему и что делать? Проблема: В файловой версии 1С настроенный по расписанию обмен с Битрикс24 не выполняется в первой половине дня, но выполняется во второй. Расписание - запуск обмена раз в 5 минут. В файловой версии 1С регламентные задания выполняются в рамках отдельного клиентского сеанса 1С (по умолчанию, в сеансе того пользователя, кто зашел в базу первым, см. http://v8.1c.ru/o7/201305fi/index.htm) и - обратите внимание - в один момент времени выполняется одно регламентное задание (порядок выполнения не определен, считайте - произвольный). Если от задания обмена с сайтом в ЖР нет ни одного события утром, значит задание вообще не запускается - т.е. до него не доходит очередь запуска (доходит к вечеру, раз вечером запускается стабильно). Проверьте, у каких регламентных заданий у вас настроен запуск в первой половине дня и перенесите их на ночь (сеанс 1С, в котором выполняются регламентные задания нужно будет оставлять на ночь и лучше его вообще сделать отдельным, т.е. чтобы обычный пользователь в этом сеансе не работал). Лучшим решением конечно будет перейти на клиент-серверную версию 1С - в ней регламентные задания выполняются параллельно и агентом сервера, а не в пользовательском сеансе. Если у вас одновременно работающих пользователей в 1С не более 5, то есть бюджетный вариант - мини-сервер 1С на 5 пользователей + бесплатная PostreSQL в качестве БД.

#hyper Ввязался в расследование бага с темой для Гипера: см. https://github.com/zeit/hyper/issues/294#issuecomment-357339391 и https://github.com/zeit/hyper/issues/294#issuecomment-357375621 Для себя уже поправил, форкнув (https://github.com/kuntashov/hyper-solarized-light/tree/xterm-colors), но раз потрачено на исследование пару часов, то хочется разобраться в причине, надеюсь кто-нибудь из разработчиков прокомментируют.

https://habrahabr.ru/post/346324/ #1С Снова критика 1С и снова какая-то фигня. Лустин в комментариях все правильно написал.

https://hyper.is/ #devtools Открыл для себя эмулятор терминала Hyper, реализованный на веб-ките при помощи js/html/css. Выглядит здорово, но пока в работе активно использовать не успел - буду пробовать. На старте столкнулся с тем, что некорректно отображал кириллицу, решилось добавлением в ~/.config/fish/config.fish строк:
set -x LC_ALL ru_RU.UTF-8
set -x LANG ru_RU.UTF-8
set -x LC_CTYPE ru_RU.UTF-8
Ну и еще в текущей версии, которая лежит в официальном репозитории Debian нет контекстного меню, но его заменяет гамбургер-меню (которое в линуксе по умолчанию отключено; включается в конфигурационном файле ~/.hyper.js)

https://habrahabr.ru/company/itsumma/blog/345976/ Пора пробовать rkt? Или опенсорс вырулит? Все-таки докер максимально дружественен к пользователю, очень будет жаль, если его похоронят вот так вот.

https://m.habrahabr.ru/company/knopka/blog/345692/ #1С Очень подробная инструкция про разворачивание 1С:Фреша

#БитриксУправлениеСайтом https://gist.github.com/kuntashov/1deacb62b27769f90e9f5e1d1417a0a0 Это не автоматический скрипт, а просто набор команд, по сути сохраненная history после настройки чистого сервера.

#1С feat. #git https://infostart.ru/public/721600/ Отличная статья про использование git для разработки на 1С - разжевана установка и настройка gitsync, precommit1c и описан процесс лучше, чем в документации. (Это вторая статья из серии, первая была вводная https://infostart.ru/public/703384/).