Постоянная рубрика от тех, кто генерит нам, программистам, больше всего работы — от любимых СЕОшников.
Нам нужно уйти от подчёркивания в урлах. От всех ©
Урл умного фильтра
Должен быть
#сеошники #многоработынебывает #навалиещё
Нам нужно уйти от подчёркивания в урлах. От всех ©
Урл умного фильтра
/products/zamki-iz-peska/filter/pokraska_objecta-bez_pokraski/...не устраивает
Должен быть
/products/zamki-iz-peska/filter/pokraska-objecta-bez-pokraski/...что из коробки не работает.
#сеошники #многоработынебывает #навалиещё
Задача: вычислять цену за метр квадратный от основной цены.
Действия: Подписываемся на событие добавление/обновление цены, делаем вычисления и пушим новую цену.
Проблема: если мы попытаемся в реакции на событие записать что-то в
Делаем финт ушами: накапливаем требуемые изменения, подписываемся на какой-нибудь эпилог (когда таблица уже будет разлочена) и сливаем наши изменения.
Пример кода: https://pastebin.com/AYZbgyZf
В качестве заметки на полях — подписывание на события с ценами:
Действия: Подписываемся на событие добавление/обновление цены, делаем вычисления и пушим новую цену.
Проблема: если мы попытаемся в реакции на событие записать что-то в
b_catalog_price
, изменения не будут записаны (хотя обновление вернёт isSuccess), потому что таблица залочена.Делаем финт ушами: накапливаем требуемые изменения, подписываемся на какой-нибудь эпилог (когда таблица уже будет разлочена) и сливаем наши изменения.
Пример кода: https://pastebin.com/AYZbgyZf
В качестве заметки на полях — подписывание на события с ценами:
$eventManager = \Bitrix\Main\EventManager::getInstance();#битрикс #цены #квадратныеметры #наэтотразобойдётесьбезфайлов
$eventManager->addEventHandler('catalog', 'Bitrix\Catalog\Model\Price::OnAfterAdd',
[AlexeyGfi\SquareMettersPrices::class, 'onPriceEvent']
);
$eventManager->addEventHandler('catalog', 'Bitrix\Catalog\Model\Price::OnAfterUpdate',
[AlexeyGfi\SquareMettersPrices::class, 'onPriceEvent']
);
Pastebin
Обновление цены при реакции на обновление цены - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Битриксоид из Колхоза
Задача: вычислять цену за метр квадратный от основной цены. Действия: Подписываемся на событие добавление/обновление цены, делаем вычисления и пушим новую цену. Проблема: если мы попытаемся в реакции на событие записать что-то в b_catalog_price, изменения…
Уточнения и дополнения.
1. Таблица действительно лочится, но только для таких изменений как "выполнить проверочный запрос из пхпадмин пока иксдебаг держит код"
2. В моём случае, когда я пытался сделать запись и операция показывала
То есть при сохранении карточки, по очереди укатываются все цены товара. И вот поймал я тип цены 1, по ней вычислил и записал тип цены 2. После меня основной механизм, отработав тип цены 1, отрабатывает тип цены 2 и накатывает изменения.
Соответственно, либо при сохранении отбивать изменения типа цены 2, либо сделать как я сделал, либо выполнять операции после всех-всех операций с товарами.
К слову, сначала отрабатывают все события по элементу инфоблока (onBefore, onAfter) и потом события товара.
Спасибо Евгению @VirtualWhiskers за триггер в мозгу.
1. Таблица действительно лочится, но только для таких изменений как "выполнить проверочный запрос из пхпадмин пока иксдебаг держит код"
2. В моём случае, когда я пытался сделать запись и операция показывала
->isSuccess
, всё так и происходило, но потом, когда основной код (который вызывал первоначальные события) продолжал выполнение, наступала очередь других типов цен и мои изменения перезаписывались. То есть при сохранении карточки, по очереди укатываются все цены товара. И вот поймал я тип цены 1, по ней вычислил и записал тип цены 2. После меня основной механизм, отработав тип цены 1, отрабатывает тип цены 2 и накатывает изменения.
Соответственно, либо при сохранении отбивать изменения типа цены 2, либо сделать как я сделал, либо выполнять операции после всех-всех операций с товарами.
К слову, сначала отрабатывают все события по элементу инфоблока (onBefore, onAfter) и потом события товара.
Спасибо Евгению @VirtualWhiskers за триггер в мозгу.
Сочный пример по D7 ORM
Внутри и фейковая сущность и фильтры с логикой или и выборка объектами...
Решаемая задача: нужно перебрать все записи инфоблока, у которых нет символьного кода и прописать его с транслитерацией из названия.
...потому что обновление через
Код на пастебине: https://pastebin.com/fRX7YmZn
#битрикс #orm #fakeentity #обходныетропинки #mycodemyrules
Внутри и фейковая сущность и фильтры с логикой или и выборка объектами...
Решаемая задача: нужно перебрать все записи инфоблока, у которых нет символьного кода и прописать его с транслитерацией из названия.
...потому что обновление через
IblockElementTable
заблочено.Код на пастебине: https://pastebin.com/fRX7YmZn
#битрикс #orm #fakeentity #обходныетропинки #mycodemyrules
Таблицы-Таблички-Табличечки
Народ, у кого была задача сделать настраиваемые таблицы?
Два модуля на маркетплейсе
https://marketplace.1c-bitrix.ru/solutions/denwist.table/
https://marketplace.1c-bitrix.ru/solutions/grain.tables/
...работают по такому принципу:
Добавляем инфоблоку свойство, в настройках этого свойства настраиваем колонки, а уже при добавлении элемента контент-менеджер заполняет эту таблицу. Это хорошо для таблиц типа "Таблица размеров одежды", но не подходит, если нужно заносить совершенно кастомные таблицы.
Кто-то может сталкивался с подобной задачей и находил решение по-лучше?
Хочу, чтобы прямо в карточке товара мы добавляли и колонки и строки.
#таблицы #эксельвглаз
Народ, у кого была задача сделать настраиваемые таблицы?
Два модуля на маркетплейсе
https://marketplace.1c-bitrix.ru/solutions/denwist.table/
https://marketplace.1c-bitrix.ru/solutions/grain.tables/
...работают по такому принципу:
Добавляем инфоблоку свойство, в настройках этого свойства настраиваем колонки, а уже при добавлении элемента контент-менеджер заполняет эту таблицу. Это хорошо для таблиц типа "Таблица размеров одежды", но не подходит, если нужно заносить совершенно кастомные таблицы.
Кто-то может сталкивался с подобной задачей и находил решение по-лучше?
Хочу, чтобы прямо в карточке товара мы добавляли и колонки и строки.
#таблицы #эксельвглаз
Пинание урлов через Google Indexer Api
https://developers.google.cn/search/apis/indexing-api/v3/quickstart?hl=ru
================
Заметки на полях
================
✍️ Хорошая статья в тему:
https://vc.ru/seo/365542-kak-proindeksirovat-sayt-v-google-i-povysit-vidimost-opyt-ispolzovaniya-google-indexing-api-s-primerami
• В статье неточность. Не нужно регистрировать ещё один гугл.аккаунт, достаточно создать в рамках того же аккаунта ещё один проект и внутри сервисный аккаунт и дальше по списку, озвученному в статье.
• В статье не говорится о том, что должно в рамках проекта быть активировано Indexing Api.
Урл:
https://console.cloud.google.com/apis/api/indexing.googleapis.com/credentials?project=XXXXXXX
...где XXXXXXX — код проекта
• В комментариях пишут, что 429 больше не приходит, если лимиты исчерпаны. Это не так — приходят.
✍️ Использованные лимиты (200 запросов в сутки) обнуляются в полночь
✍️ Гугл-библиотека для создания клиента и коннекта к сервисам:
https://github.com/googleapis/google-api-php-client
... где класс для работы с индексатором:
https://github.com/googleapis/google-api-php-client#authentication-with-service-accounts
• Для индексатора скоуп выглядит так:
https://developers.google.cn/search/apis/indexing-api/v3/quickstart?hl=ru
================
Заметки на полях
================
✍️ Хорошая статья в тему:
https://vc.ru/seo/365542-kak-proindeksirovat-sayt-v-google-i-povysit-vidimost-opyt-ispolzovaniya-google-indexing-api-s-primerami
• В статье неточность. Не нужно регистрировать ещё один гугл.аккаунт, достаточно создать в рамках того же аккаунта ещё один проект и внутри сервисный аккаунт и дальше по списку, озвученному в статье.
• В статье не говорится о том, что должно в рамках проекта быть активировано Indexing Api.
Урл:
https://console.cloud.google.com/apis/api/indexing.googleapis.com/credentials?project=XXXXXXX
...где XXXXXXX — код проекта
• В комментариях пишут, что 429 больше не приходит, если лимиты исчерпаны. Это не так — приходят.
✍️ Использованные лимиты (200 запросов в сутки) обнуляются в полночь
✍️ Гугл-библиотека для создания клиента и коннекта к сервисам:
https://github.com/googleapis/google-api-php-client
... где класс для работы с индексатором:
\Google\Service\Indexing• Урл с примером инициализации клиента через json-ключи (с использованием
putenv
)https://github.com/googleapis/google-api-php-client#authentication-with-service-accounts
• Для индексатора скоуп выглядит так:
$client->addScope(\Google\Service\Indexing::INDEXING);#индексация #googleindexingapi #сеошниксчастлив
Please open Telegram to view this post
VIEW IN TELEGRAM
php 8.* и названия модулей.
Если после переключения на версию 8+ не отображаются названия модулей (а это влияет и на возможность работы системы обновления), а у модуля нет поддержки 8.0 или нет возможности обновиться
...нужно переименовать конструкторы проблемных классов (
Касается и стандартных модулей
UPD: https://t.me/bitrixoid_iz_kolhoza/398
#php8
Если после переключения на версию 8+ не отображаются названия модулей (а это влияет и на возможность работы системы обновления), а у модуля нет поддержки 8.0 или нет возможности обновиться
...нужно переименовать конструкторы проблемных классов (
bitrix/modules/папка_модуля/install/index.php
)Касается и стандартных модулей
UPD: https://t.me/bitrixoid_iz_kolhoza/398
#php8
Есть несколько задач, которые я могу и хотел бы делегировать.
Мне нужен помощник (или несколько помощников) по таким задачам:
1. Вью-компонент калькулятора стройматериалов.
Сделана первая часть, нужно её расширить и подумать над рефакторингом.
2. Вёрстка новых страниц в текущем проекте.
Сделан и запущен каркас, часть ключевых страниц, нужно верстать другие страницы дизайна, которые впоследствии будут запрограммированы.
Это скорее разовое сотрудничество чем постоянное, но я буду рад, если мы сработаемся и я смогу делегировать часть задач.
Пишите мне в личку @AlexeyGfiProgrammer с описанием условий сотрудничества.
Могу не отвечать, если моя очередь смотреть за ребёнком.
Также нужно понимать, что задач на текущий момент всего две и когда будут найдены помощники, я новые кандидатуры рассматривать уже не смогу.
Мне нужен помощник (или несколько помощников) по таким задачам:
1. Вью-компонент калькулятора стройматериалов.
Сделана первая часть, нужно её расширить и подумать над рефакторингом.
2. Вёрстка новых страниц в текущем проекте.
Сделан и запущен каркас, часть ключевых страниц, нужно верстать другие страницы дизайна, которые впоследствии будут запрограммированы.
Это скорее разовое сотрудничество чем постоянное, но я буду рад, если мы сработаемся и я смогу делегировать часть задач.
Пишите мне в личку @AlexeyGfiProgrammer с описанием условий сотрудничества.
Могу не отвечать, если моя очередь смотреть за ребёнком.
Также нужно понимать, что задач на текущий момент всего две и когда будут найдены помощники, я новые кандидатуры рассматривать уже не смогу.
Допустим, мы пишем интеграцию веб-форм Битрикса в облако Б24. Создание лида при заполнение посетителем сайта веб-форм.
Решаем реагировать на событие добавления нового результата, в зависимости от веб-формы строим соответствие полей ответов и полей запроса для рест-а.
Доходим до момента, когда нужно получить результаты веб-формы в каком-то удобоваримом виде и понимаем, что в ядре клубки кода, которые распутывать совсем не хочется.
Берём и на D7 собираем нужные сущности и делаем запрос.
Заготовка класса с нужными методами, код на пастебине:
https://pastebin.com/xAs9rvqs
#вебформы #d7 #Б24
Решаем реагировать на событие добавления нового результата, в зависимости от веб-формы строим соответствие полей ответов и полей запроса для рест-а.
Доходим до момента, когда нужно получить результаты веб-формы в каком-то удобоваримом виде и понимаем, что в ядре клубки кода, которые распутывать совсем не хочется.
Берём и на D7 собираем нужные сущности и делаем запрос.
Заготовка класса с нужными методами, код на пастебине:
https://pastebin.com/xAs9rvqs
#вебформы #d7 #Б24
Б24
Задача: запретить менеджерам отмечать лид как некачественный (переводить лид в статус "Некачественный лид")
...один из вариантов решения, который удалось наковырять:
https://t.me/bit24dev/285824
📞
#Битрикс24 #crm
Задача: запретить менеджерам отмечать лид как некачественный (переводить лид в статус "Некачественный лид")
...один из вариантов решения, который удалось наковырять:
https://t.me/bit24dev/285824
#Битрикс24 #crm
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AlexeyGfi
Спасибо за ответ! 🥰
Что я сделал:
• завёл строковое поле "Подписано РОПом" (почему-то сцуко у Да/Нет нет настройки Обязателен для стадии (и даже просто Обязателен нет));
• сделал его обязательным для стадии "Некачественный лид" (но это по сути вообще не играет роли, потому что переводить в статус при не заполненном поле можно👎 );
• сделал поле видимым только РОПам;
• в роботах навесил на статус некачественного лида проверку: если поле не заполнено — переводит в статус ***
Если РОП пытается перевести лид в некачественный — запрос на заполнение поля всплывает, если менеджер пытается перевести — ничего не всплывает.
Но, если попытку сделать некачественным производит менеджер — робот отбивает статус.
Я хотел бы сделать так, чтобы лид отскакивал на тот статус, из которого он был переведён, но в бизнес-процессах не нахожу нужной активити.
Лог бизнес-процесса с записью "текущего статуса" уже показывает "Некачественный лид".
😋
Думал пинать рест и через
https://t.me/bit24dev/252263
Остаться в рамках Б24 без внешнего обработчика прикольно.
Я создал скрытое поле, видное только мне и тестовому аккаунту.
Расставил на всех нужных стадиях роботов, которые заполняют это поле при переходе на стадию (пишу текущий
В роботе, который отбивает лид с некачественной сделки, отредактировал перевод в статус, по значению этого секретного скрытого поля (можно ещё уведомлять РОПа о попытке)
Быдысчь — заработало как нужно.
Бинго ))
✈️
Что я сделал:
• завёл строковое поле "Подписано РОПом" (почему-то сцуко у Да/Нет нет настройки Обязателен для стадии (и даже просто Обязателен нет));
• сделал его обязательным для стадии "Некачественный лид" (но это по сути вообще не играет роли, потому что переводить в статус при не заполненном поле можно
• сделал поле видимым только РОПам;
• в роботах навесил на статус некачественного лида проверку: если поле не заполнено — переводит в статус ***
Если РОП пытается перевести лид в некачественный — запрос на заполнение поля всплывает, если менеджер пытается перевести — ничего не всплывает.
Но, если попытку сделать некачественным производит менеджер — робот отбивает статус.
Я хотел бы сделать так, чтобы лид отскакивал на тот статус, из которого он был переведён, но в бизнес-процессах не нахожу нужной активити.
Лог бизнес-процесса с записью "текущего статуса" уже показывает "Некачественный лид".
Думал пинать рест и через
crm.stagehistory.list
выкорчёвывать статус, но потом наткнулся на этот ответ Вани https://t.me/bit24dev/252263
Остаться в рамках Б24 без внешнего обработчика прикольно.
Я создал скрытое поле, видное только мне и тестовому аккаунту.
Расставил на всех нужных стадиях роботов, которые заполняют это поле при переходе на стадию (пишу текущий
STATUS_ID
) — хз, оптимально ли я сделал но пришлось сделать робота и потом копировать в каждую стадию (мне бы больше понравилось иметь одного исходного робота и на него ссылаться).В роботе, который отбивает лид с некачественной сделки, отредактировал перевод в статус, по значению этого секретного скрытого поля (можно ещё уведомлять РОПа о попытке)
Быдысчь — заработало как нужно.
Бинго ))
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Рыков Иван in Битрикс 24 для разработчиков
Скрытое поле заполнить текущим пользователем и потом сделать привязку через бп
Битриксоид из Колхоза
Спасибо за ответ! 🥰 Что я сделал: • завёл строковое поле "Подписано РОПом" (почему-то сцуко у Да/Нет нет настройки Обязателен для стадии (и даже просто Обязателен нет)); • сделал его обязательным для стадии "Некачественный лид" (но это по сути вообще не играет…
После замечаний от @dimbady, оттюнил решение
(недостатки предыдущего метода: прыжки со статуса на статус пинают все связанные с ними бизнес-процессы).
Саша Островский не раз говорил в чате Б24 про ридонлди-поле, установленное через рест. Теперь я это заюзал.
Порядок действий:
• заводим строковое поле "Подписано РОПом", делаем его обязательным для стадии "Некачественный лид", скрываем для всех;
• через рест-методы делаем поле не редактируемым. Это можно сделать даже прямо на странице настройки входящего вебхука. Нам нужно ID пользовательского поля. Метод
🛎 После этих шагов при любой попытке любого пользователя отметить лид как некачественный (перевести на стадию "Некачественный лид"), будет всплывать запрос на заполнение строкового поля, но никто не сможет это сделать и лид на стадию не перейдёт.
• заводим поле Да/Нет, видимое только РОПам. Идея в том, чтобы отслеживать этот чекбокс и при его изменении заполнять "секретное поле" (ну и по ходу отмечать лид как некачественный);
• через настройки CRM, меню "Роботы и бизнес-процессы" / "Бизнес-процессы", в Лидах создаём новый шаблон, который будет запускаться при изменении лида. Внутри заводим схему с такой логикой: "Если чекбокс нажат и секретное поле не заполнено" — мы заполняем поле плюсиком и переводим лид в стадию "Некачественный лид".
#Битрикс24 #б24 #crm #бизнеспроцессы
(недостатки предыдущего метода: прыжки со статуса на статус пинают все связанные с ними бизнес-процессы).
Саша Островский не раз говорил в чате Б24 про ридонлди-поле, установленное через рест. Теперь я это заюзал.
Порядок действий:
• заводим строковое поле "Подписано РОПом", делаем его обязательным для стадии "Некачественный лид", скрываем для всех;
• через рест-методы делаем поле не редактируемым. Это можно сделать даже прямо на странице настройки входящего вебхука. Нам нужно ID пользовательского поля. Метод
crm.lead.userfield.list
даёт нам список, из него выцепляем ID. Потом методом crm.lead.userfield.update
устанавливаем [EDIT_IN_LIST] => N
);🛎 После этих шагов при любой попытке любого пользователя отметить лид как некачественный (перевести на стадию "Некачественный лид"), будет всплывать запрос на заполнение строкового поля, но никто не сможет это сделать и лид на стадию не перейдёт.
• заводим поле Да/Нет, видимое только РОПам. Идея в том, чтобы отслеживать этот чекбокс и при его изменении заполнять "секретное поле" (ну и по ходу отмечать лид как некачественный);
• через настройки CRM, меню "Роботы и бизнес-процессы" / "Бизнес-процессы", в Лидах создаём новый шаблон, который будет запускаться при изменении лида. Внутри заводим схему с такой логикой: "Если чекбокс нажат и секретное поле не заполнено" — мы заполняем поле плюсиком и переводим лид в стадию "Некачественный лид".
#Битрикс24 #б24 #crm #бизнеспроцессы
Бывает так, что ты в режиме редактирования хочешь добраться до какого-то компонента через настройки, но из-за специфики вёрстки (или других причин), при наведении мышью на блок с областью, которая содержит компонент,.. страница только дёргается, увеличивается по высоте, но панели редактирования не появляется.
Как вариант — выполняем в консоли код, всплывают все панельки по порядку и можно найти нужную
Как вариант — выполняем в консоли код, всплывают все панельки по порядку и можно найти нужную
$$('.bx-component-opener').forEach(function (div, pos) { div.style.display="block"; div.style.top = pos * 30 + "px"; div.style.left = "100px"; })#битрикс #компоненты #удочка #ловисьрыбка
Стоимость доставки по зонам на карте.
Был когда-то модуль от Себекон.
https://marketplace.1c-bitrix.ru/solutions/sebekon.deliveryprice/
На карте указываем положение склада, рисуем зоны и для каждой настраиваем стоимость.
В публичной части посетитель кликает на точку на карте или через поиск находит себя и по карте строится маршрут с вычислением стоимости согласно пересекаемых зон.
Сейчас модуль больше не в продаже или снят/закрыт/сожжён/выброшен-в-урну...
Кто находил и работал с аналогами, накидайте плиз примеров.
#доставка
Был когда-то модуль от Себекон.
https://marketplace.1c-bitrix.ru/solutions/sebekon.deliveryprice/
На карте указываем положение склада, рисуем зоны и для каждой настраиваем стоимость.
В публичной части посетитель кликает на точку на карте или через поиск находит себя и по карте строится маршрут с вычислением стоимости согласно пересекаемых зон.
Сейчас модуль больше не в продаже или снят/закрыт/сожжён/выброшен-в-урну...
Кто находил и работал с аналогами, накидайте плиз примеров.
#доставка
Битриксоид из Колхоза
php 8.* и названия модулей. Если после переключения на версию 8+ не отображаются названия модулей (а это влияет и на возможность работы системы обновления), а у модуля нет поддержки 8.0 или нет возможности обновиться ...нужно переименовать конструкторы проблемных…
Что касается стандартных модулей.
Ситуация: под пхп 8.1 открываешь страницу с обновлением модулей маркетплейса, а там колонки «Обновления до» и «Статус» выглядят так, словно всё чисто, обновлений нет, просроченных модулей нет. Это может быть как раз из-за сбоя в чтении описания стандартных модулей, по той же причине, что и в цитируемом сообщении (вроде как мы смотрим на модули маркетплейса, но сканируется кодом папка .../modules/, где лежат все модули, просто в разных неймспейсах).
Лог в этом случае складывается в путь
XXX/modules/updater_partner.log,
где
Пример записей из этого лога:
#php8
Ситуация: под пхп 8.1 открываешь страницу с обновлением модулей маркетплейса, а там колонки «Обновления до» и «Статус» выглядят так, словно всё чисто, обновлений нет, просроченных модулей нет. Это может быть как раз из-за сбоя в чтении описания стандартных модулей, по той же причине, что и в цитируемом сообщении (вроде как мы смотрим на модули маркетплейса, но сканируется кодом папка .../modules/, где лежат все модули, просто в разных неймспейсах).
Лог в этом случае складывается в путь
XXX/modules/updater_partner.log,
где
XXX
= либо bitrix, либо localПример записей из этого лога:
2022-12-32 14:32:21 - - exec CUpdateClientPartner::GetUpdatesList...который подсказывает нам, что нужно обратить внимание на модуль «Мобильная платформа»
2022-12-32 14:32:21 - - exec CUpdateClientPartner::__CollectRequestData
2022-12-32 14:32:21 - Ux11 - Ошибка описания модуля "eshopapp"
2022-12-32 14:32:21 - NCRD01 - [Ux11] Ошибка описания модуля "eshopapp".
2022-12-32 14:32:21 - GUL01 - Empty query list
2022-12-32 14:33:10 - Ux11 - Ошибка описания модуля "eshopapp"
#php8
Разгребаем ошибки в /bitrix/modules/error.log
...например, при переходе на пхп 8.*
И вдруг попадается ошибка, которую проанализировать можно только через дебаг.
Но проблема в том, что это не постоянная ошибка и зависит от окружения. Зачастую такое где-то в механизмах ядра, в коде, который например обслуживает все компоненты.
Чтобы отдебажить, нам для начала нужен хотя бы урл страницы.
Поднимаем свой класс логирования, где к стандартному логу добавляем урл вызова (ну и всё что понадобится).
Пример кода класса и пример ветки 'log' конфигурации в
https://pastebin.com/gaAGwrX6
Документация:
https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2795
(Ищем на странице "Секция exception_handling")
#битрикс #лог #отладка
...например, при переходе на пхп 8.*
И вдруг попадается ошибка, которую проанализировать можно только через дебаг.
Но проблема в том, что это не постоянная ошибка и зависит от окружения. Зачастую такое где-то в механизмах ядра, в коде, который например обслуживает все компоненты.
Чтобы отдебажить, нам для начала нужен хотя бы урл страницы.
Поднимаем свой класс логирования, где к стандартному логу добавляем урл вызова (ну и всё что понадобится).
Пример кода класса и пример ветки 'log' конфигурации в
/bitrix/.settings.php
:https://pastebin.com/gaAGwrX6
Документация:
https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2795
(Ищем на странице "Секция exception_handling")
#битрикс #лог #отладка
Pastebin
Кастомный класс логирования ошибок в Битриксе - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Нейронки
Каким-то чудом, в подписчиках этого мини-канала собралась куча ребят, которые умнее и опытнее меня.
Давайте обсудим тему нейронок.
На чём пишут, какие технологии сейчас используют, какие сервисы облегчают работу? Кто хорошо рассказывает/пишет про нейронки? Где источники хороших знаний?
Чтобы было более предметно:
1. Детект/распознание. Например, задача: найти похожую картинку среди тех, которые нейронка уже «видела». Как подзадача - распознавание текста (автомобильного номера, номера кредитной карты, номера дома...).
2. Генерация. Например, задача: создать вариации композиции из набора заданных фигур.
Кто что знает из предметной области — поделитесь плиз.
#нейронки
Каким-то чудом, в подписчиках этого мини-канала собралась куча ребят, которые умнее и опытнее меня.
Давайте обсудим тему нейронок.
На чём пишут, какие технологии сейчас используют, какие сервисы облегчают работу? Кто хорошо рассказывает/пишет про нейронки? Где источники хороших знаний?
Чтобы было более предметно:
1. Детект/распознание. Например, задача: найти похожую картинку среди тех, которые нейронка уже «видела». Как подзадача - распознавание текста (автомобильного номера, номера кредитной карты, номера дома...).
2. Генерация. Например, задача: создать вариации композиции из набора заданных фигур.
Кто что знает из предметной области — поделитесь плиз.
#нейронки