
Ruslan
05.07.2017
09:43:59
А если в самом теле обработчиков проверять?

Nick
05.07.2017
09:47:00
$user идёт после инита

Ruslan
05.07.2017
09:48:36
Тогда вопрос еще более интересный
как все таки реализовать просерку в ините

Google

Ruslan
05.07.2017
09:49:34
Также для изменения процесса обмена можно использовать обычные события, например, OnBeforeIBlockElementUpdate или OnBeforeProductAdd. В обработчике, чтобы определить, что событие вызвано именно во время обмена с 1С, я использую такое костыльное условие:
if (isset($_GET['type'], $_GET['mode']) && $_GET['type'] === 'catalog' && $_GET['mode'] === 'import') {
// ...
}
Но блин тоже не работает

Vadim
05.07.2017
09:54:16
Проверять УРЛ?

Javharbek
05.07.2017
09:57:36
Добрый день,Беру данные через Ajax ломаеться вёрстка компонента. кто знает подскажите.

Vite4eg
05.07.2017
09:58:57
Вы задачи описываете ппц. Из серии открыл окно - свет пропал. Что делать?
А верстка едет скорее всего из-за того, что верстка, приехавшая аяксом, кривая. Либо что-то не закрыто, либо дурацко завёрстана
Что делать - исправлять вёрстку

Javharbek
05.07.2017
10:01:42

Vite4eg
05.07.2017
10:03:56
Нет в битриксе функции, которая верстку исправляет. Логи плохой вёрстки тоже не ведутся. Единственный способ определить, почему поехала вёрстка - открыть инструменты разработчика и смотреть, из-за чего она едет

Ruslan
05.07.2017
10:07:16

Vite4eg
05.07.2017
10:07:38
Если он у вас постоянный

Google

Aleksandr
05.07.2017
10:20:23
global $USER;
if (!(is_object($USER) && $USER instanceof CUser)) {
$USER = new CUser();
}
так разве не заработает?
$USER->GetLogin() == '1c_exchange'
Я именно так проверяю в обработчике OnBeforeIBlockElementUpdate

Анатолий
05.07.2017
10:37:55
если $USER не является объектом и в то же время является объектом от класса CUser???

Aleksandr
05.07.2017
10:38:10
это вместе не
отрицание на оба условия если объект и объект класса юзер :)
тогда незачем создавать снова экземпляр

Ruslan
05.07.2017
11:17:19
сейчас поставил если 1 === 2 и все тело инита в условии. Он все равно его отображает (у нас в инит твиг подрубается, оттуда и знаю)

Vite4eg
05.07.2017
11:26:07
Можно попробовать вариант с заголовками: в логах доступа зачастую логируется, что 1С долбается с определенным заголовком. Можно попробовать по заголовку проверять.
Но это только идея ?

Aleksandr
05.07.2017
11:49:44
Дак а почему user нельзя проверить? вызвать класс $USER = new CUser(); и потом $USER->GetLogin()
$USER->GetLogin() этот метод же просто возвращает переменную $_SESSION
$_SESSION["SESS_AUTH"]["LOGIN"];
Хотите сказать там еще нет этого?
Авторизация ведь произошла полюбому
if ($USER->GetID() !== '1C') {
AddEventHandler();
} зачем это вообще ?) ну пусть обработчик регистрируется всегда, что плохого?. а внутри функции обработчика уже делать проверку на пользователя 1с и либо что то делать, либо ничего не делать.

Mike
05.07.2017
12:13:42

Vite4eg
05.07.2017
13:58:36

Aleksandr
05.07.2017
14:05:37
АА типа если уже есть где то обработчик?

Google

Aleksandr
05.07.2017
14:05:44
дак тогда сортировкой это дело решить
самой первой вызывать или самой последней

Марат
05.07.2017
14:27:06
Всем привет, видел, что @dermanov_ru сталкивался с ошибками ККМ, кто-нибудь еще сталкивался? У меня немного другая ошибка, точнее в логах BxDTO их аж три:
DTO_ERR:-3865 (SetMode)
DESCR: Открыт чек продажи/покупки - операция невозможна
DTO_ERR:-3837 (OpenSession)
DESCR: Смена открыта - операция невозможна
DTO_ERR:-3896 (Payment)
DESCR: Сумма не наличных оплат превышает сумму чека

Max
05.07.2017
15:00:14
Где посмотреть поля класса \Bitrix\Sale\Shipment
https://dev.1c-bitrix.ru/api_d7/bitrix/sale/shipment/index.php

svetlana
05.07.2017
15:03:15
тут свойства Отгрузок
а ваще отгрузку можно спросить какие у неё поля есть available

Марат
05.07.2017
15:04:22
ммм, с кассой разобрался с кассой
странно там

Max
05.07.2017
15:06:20
Спасибо, еще вопрос по отгрузкам
Есть у меня корзина товара, я создаю из нее заказ
Из заказа потом создаю отгрузку
Дальше считаю суммы доставок
Все работает сейчас, но без учета местоположения
Где нужно укзать адрес доставки? В отгрузке же? поле DELIVERY_LOCATION?

svetlana
05.07.2017
15:07:39
кажется Адрес доставки - это свойство заказа

Max
05.07.2017
15:08:33
Вот здесь путаница, в заказе тоже есть адрес доставки, тогда для чего поле DELIVERY_LOCATION в отгрузках?

svetlana
05.07.2017
15:09:03
посмотрите что там лежит для заказов обычных, созданных через сайт )

Denis
05.07.2017
15:38:21
лол, не могу найти где менять верстку popup-а добавления корзины
очень поможете если подскажете
с js-ом битрикса у меня не оч
посмотрел в script.js в каталоге, но верстки там нет той что выводится в devtools-е хрома
хз где искать

Анатолий
05.07.2017
15:41:04
IDE используешь? поиск по коду делай...

Evg
05.07.2017
16:00:48

Google

MarconiKlin A12E
05.07.2017
20:45:39
поговорил снова с поддержкой..по поводу АТОЛ 90Ф... ответили что-то вроде: "ну да, эта касса не подходит", на возражения: "ну вы же сами сказали любая подойдет" написали, что-то вроде: "хорошо, внесем правку в документацию, что именно 90Ф не подходит"... финиш блин :( 60 т.р. ушли в трубу... надо бы с Рыжикова стребовать... #касса #атол

Denis
06.07.2017
03:30:17

Andrey
06.07.2017
05:35:07
Всем привет может все таки, кроме тех кто получает деньги наличкой спокойно разобраться с кассами до 01.07.2018 за год вопрос решится. Отсрочка есть.

Юрий
06.07.2017
05:44:14
Сломал шею

MarconiKlin A12E
06.07.2017
06:08:10

Denis
06.07.2017
06:09:09

MarconiKlin A12E
06.07.2017
06:10:27
Битрикс видит кассу через драйвер. Можно какие-то отчёты снять. Но чек выбить не даёт. Судя по всему не каких технических ограничение нет, исключительно политика

Elion
06.07.2017
06:46:00
Парни, использую недокументированное событие OnPrintableCheckSendClass - вызывается сразу после получения информации по чеку (т.е. информации о том, что он был успешно напечатан). Он передает объект класса Bitrix\Sale\Payment с защищенными переменными. Подскажите, как мне можно их вытянуть?

Max
06.07.2017
07:07:00
Добрый день. Прошу помощи
Нужно получить значение сроков доставки после расчета
Пытаюсь получить так:
CalculationResult::getPeriodFrom()
CalculationResult::getPeriodTo()
Но пишет что таких методов нет, хотя здесь они есть http://bxapi.ru/?module_id=sale&class=CalculationResult
CalculationResult::getPeriodDescription() работает, но выводит строкой "от до"
Подскажите, как получить значения периода. Спасибо

Elion
06.07.2017
07:15:35

svetlana
06.07.2017
07:50:39

Max
06.07.2017
07:53:01
Светлана, спасибо, разобрался

Dmitry
06.07.2017
07:59:27

Elion
06.07.2017
08:03:41

Dmitry
06.07.2017
08:04:48
Из оплаты его можно получить так
$payment->getOrder()->getId();
Точнее $payment->getOrderId();

Elion
06.07.2017
08:31:12
Алексей, с удовольствием =). Покажите пожалуйста документацию на событие OnPrintableCheckSend. Или документацию на Bitrix\Sale\Payment.
Точнее $payment->getOrderId();
в итоге получилось вот так:
$fields->getFields()->getValues() - получим массив, в нем будет ORDER_ID.
->getOrderId(); - не работает

Google

svetlana
06.07.2017
08:39:34
у отгрузки можено сделать $shipment->getField('ORDER_ID')
у пеймента так не получится?

Dmitry
06.07.2017
09:03:00
Получится
getOrderId это и делает

Алексей
06.07.2017
09:03:35
если есть объект, а вы не знаете какие у него есть методы, то
можно пользоваться
get_class_methods
а для получения данных об переменных
get_class_vars

Марат
06.07.2017
10:05:48
Ух, подключил Атол 25Ф
Там проблем в CashboxBitrix – они передают цену на кассу из поля BASE_PRICE, а если на заказе есть скидки/наценки, то цена не сходится и касса не пробивает чек

Sergey
06.07.2017
11:30:07
начал про ORM вникать из энциклопедии битрикса... так вот, это можно как-то использовать, то что предлагают? В своей git ветке по обучению допустим. Без практики я точно это не запомню.

Anton
06.07.2017
11:44:50
Всем привет. Вопрос по композиту. Почему содержимое между $frame = $this->createFrame()->begin(''); $frame->end(); может писаться в кеш, по логике же не должно?

Алексей
06.07.2017
11:46:03