Попробуйте отправлять письма почтовые адреса разных доменов, gmail.com, yandex.ru и т.д. так как на некоторых почтовых серверах может стоять особая антиспам защита, запрещающая пересылку почты с анонимных почтовых серверов или с адресов, которые не способны корректно отвечать на вопросы почтового сервера.
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
К сожалению я не могу проверить как это работает, так как не хочу править данный работающий компонент.
В данном коде, конечно в явном виде ничего нет и понять где именно поле "Покупатель" нельзя. Но, изучив исходный код загруженной страницы, можно обнаружить, что блок "Покупатель" начинается с кода <a id="buyer"></a>, а данный блок формируется на 341 строке
Код
case "buyer":
echo Admin\Blocks\OrderBuyer::getView($saleOrder);
Класс Admin\Blocks\OrderBuyer с методом getView находится тут /bitrix/modules/sale/lib/helpers/admin/blocks/orderbuyer.php Все эти файлы естественно не задокументированы, Вы не найдете описания работы с ними.
Там Вам самостоятельно нужно создать новые строки таблицы и добавить в них информацию о комментарии из пользовательского профиля. Классы для работы с пользователем тут https://dev.1c-bitrix.ru/api_help/main/reference/cuser/index.php. ID пользователя в файле orderbuyer.php лежит в переменной $data["USER_ID"]
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Вообще, умный фильтр должен нормально считать диапазоны. Вы всегда можете кастомизировать шаблон умного фильтра и добавлять в $arrFilter свои значения. Например, Вы можете обрабатывать адресную строку и смотреть, что там отображается в значениях этого диапазона, потом брать эти значения и передавать в свой фильтр указывая диапазон http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2683
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Посмотрите в адресной строке, какой у Вас открыт файл, его и надо править
Тот что открыт у меня, лежит тут
Код
/bitrix/modules/sale/admin/order_view.php
Его и надо править. Правьте код начинай со строки 328, именно там и выводятся поля. Но, как я уже сказал ранее, это и есть файлы компонента, которые будут перезаписаны при обновлении.
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Вообще, обычно все макросы создаются в компонентах, которым принадлежит шаблон. Почтовые шаблоны лежат тут /bitrix/admin/message_admin.php?lang=ru найдите там Ваш шаблон. Судя по всему это шаблон обратной связи /bitrix/admin/type_edit.php?EVENT_NAME=FEEDBACK_FORM. По логике, поле #AUTHOR_EMAIL# - Email автора сообщения. Вы уверены что адрес почты выделенный на скриншотах желтым - это не адрес пользователя, который написал сообщение?
Вы в принципе в шаблоне можете все макросы для администратора заменить на жесткий адрес почты. Если #AUTHOR_EMAIL# действительно ошибается, то Вы можете переопределить его в init.php с помощью события http://dev.1c-bitrix.ru/api_help/main/events/onbeforeeventsend.php
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
К сожалению, я не знаю, как изменять модули на лету, добавляя и изменяя данные перед выводом в админку, по этому можно изменить компонент, который выводит информацию о заказе. Если я не ошибаюсь - делает это файл /bitrix/modules/sale/admin/order_view.php. Но! Естественно это самый плохой вариант, так как менять системные скрипты не очень хорошо, и они все равно перезапишутся при следующем обновлении.
Второй вариант это написать небольшой js скриптик с ajax кодом, который при открытии данной странички, лез бы в пользователя, смотрел комментарий и выводил его там где хотите.
Другие варианты в голову не идут...
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Так как Битрикс поставляется в исходных кодах, в принципе можно переписать и инсталлятор, но это будет не правильно. Мне кажется логичнее будет написать свой модуль с особыми действиями после установки и запустить его методы вручную или в конце установки.
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Попробуйте после бекапа скачать архив на компьютер (если он адекватных размеров) и распакуйте. Проверьте, все ли файлы в папке /bitrix/themes/.default/public/panel_new/icons на месте. Или откройте архив прямо в папке хостинга, если файловый менеджер это позволяет и так же проверьте, все ли там на месте. Вообще, лучше бы понять, почему он выдает ошибку открытия. Может быть на этой папке особые права и системе их недостаточно для открытия? Запустите проверку доступа
Код
/bitrix/admin/site_checker.php?lang=ru
вкладка "Проверка доступа"
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
В принципе все оно и тоже. Единственное отличие при работе с инфоблоками (на мой взгляд), да и другими элементами в init.php это знание о том, изменился или создался ли уже элемент или мы еще только подготавливаем данные для этого. Сохраните $my_res в файле прямо в init.php через
Есть несколько вариантов. Можно посмотреть готовые модули на маркетплейс или создать веб-форму. После заполнения формы, создается результат, в одном из полей результата - список, со значением по умолчанию "На модерации" или как-то иначе. Модерируете, меняете статус, выводите на сайте.
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Команда $my_res = CIBlockElement::GetByID( $corp_office_id ); должна отрабатывать корректно. Проверьте, получаете ли вы в переменную $corp_office_id ожидаемое значение. Или попробуйте создать тестовый файл и выполнить там код
Добрый день. Если Вы нигде в компонентах и шаблонах данный адрес не вписывали, то смотрите "E-Mail адрес по умолчанию" сайта /bitrix/admin/site_edit.php?lang=ru&LID=s1. Так же этот адрес может браться из настроек почтовой программы установленной на хостинге. Так же проверьте почтовый шаблон, который формирует письмо, если данный адрес попадает в почтовый шаблон в виде макроса, то нужно понять как он формируется или переопределить его при возникновении события отправки письма.
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Добрый день! Все работает, разница только в том, что при событии OnBeforeIBlockElementDelete в функцию передается ID удаляемого элемента, а в OnBeforeIBlockElementUpdate передаются параметры по ссылке.
Код
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", Array("MyClass", "CheckOwnerBeforeUpdate"));
AddEventHandler("iblock", "OnBeforeIBlockElementDelete", Array("MyClass", "CheckOwnerBeforeDelete"));
class MyClass
{
public function CheckOwnerBeforeUpdate(&$arParams)
{
global $APPLICATION, $USER;
$rsElement = CIBlockElement::GetByID($arParams["ID"]);
$arElement = $rsElement->GetNext();
if ($arParams["MODIFIED_BY"] != $arElement["CREATED_BY"] || !$USER->IsAdmin()) {
$APPLICATION->ThrowException('Вы не можете изменять элементы, созданные другими пользователями!');
return false;
}
}
public function CheckOwnerBeforeDelete($ID)
{
global $APPLICATION, $USER;
$rsElement = CIBlockElement::GetByID($ID);
$arElement = $rsElement->GetNext();
if ($USER->GetID() != $arElement["CREATED_BY"] || !$USER->IsAdmin()) {
$APPLICATION->ThrowException('Вы не можете удалять элементы, созданные другими пользователями!');
return false;
}
}
}
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Столкнулся с проблемой изменения данных в процессе импорта из CSV.
Необходимо до добавления элемента в инфоблок изменить некоторые свойства. Событие OnBeforeIBlockElementAdd срабатывает при добавлении элемента руками или при импорте. Мне необходимо импортировать через торговый каталог, т.е. Магазин - Импорт данных - Import CSV (new). Но при импорте таким способом, в момент события в $arFields лежат только стандартные свойства инфоблока и нет ни одного добавленного вручную.
Событие OnStartIBlockElementAdd тоже не содержит ручных свойств. Но импорт через Инфоблоки - Импорт - CSV содержит все необходимые данные, но этот способ импорта не подходит.
Подскажите, как получить все свойства добавляемого элемента при импорте через Import CSV (new)
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Уважаемые участники форума! Ранее не доводилось работать с каталогом продукции, по этому немного не соображу как правильно сделать.
Есть каталог товаров, например колец. У колец есть разные размеры, например 15, 16, 17.5 и т.д. и множество других свойств. Занести товары в каталог не составляет никакого труда. Каждое свойство это текст, цифры или список. Сами размеры - тоже список. Но у колец разного размера разный остаток на складе.
Каким образом в одном элементе инфоблока (каталога) указать, какой размер какому остатку соответствует? На вкладке "Торговый каталог" есть остаток, но он для всего элемента в целом.
Получается, чтобы нужно создать столько элементов в каталоге, сколько есть размеров у самого товара, чтобы в каждом прописать остатки? Или создать еще один инфоблок, который будет содержать в себе только, например, размер, остаток, цена и будет свойство привязка к элементам, где мы будем указывать товар из первого инфоблока?
Здравствуйте. Подскажите, с чем может быть связана проблема и как ее найти.
Стоит 1С-Битрикс: Управление сайтом: Стандарт 16.0.13. Все последние обновления стоят.
Пользователь заходит на сайт, успешно авторизуется и видит в поле авторизации свой логин, а в ЛК свои сообщения. Через некоторое время, он начинает видеть уже не свой логин и чужие сообщения, но для этого он совершенно ничего не делал. Просто другой пользователь тоже зашел в ЛК и такое чувство, что сессии перепутались.
Стоит Nginx - Apache, memchache. Пробовал отключать кэширование, не помогает...
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)
Перекопал весь компонент добавления. Везде проверки только по текущему пользователю.
Возможно есть какие-то другие решения моей задачи и я просто ищу не в том направлении. Задача следующая:
Есть раздел: Машины Ауди Ауди А8
1. Зарегистрированный пользователь создает элемент в разделе самого нижнего уровня (в ауди а8) 2. У группы пользователей отвечающих за ауди есть расширенные права на редактирование раздела ауди. 3. При успешном добавлении элемента в раздел ауди а8, необходимо проверить, у каких групп есть права на данный раздел. Так как конкретно на этот раздел права не выдавались, придется пройти вверх по цепочке пока не найдем 4. В результате, нужно получить всех пользователей у которых есть права на управление разделом Ауди и создать список почтовой рассылки и выслать им всем письма.
Но я не нашел не одного метода, позволяющего по ID раздела взять группы или пользователей или по ID пользователя или группы, проверить права на раздел. Заметил в компоненте CBPDocument::CanUserOperateDocument, но редакция не позволяет использовать бизнес процессы.
Если сообщение было для Вас полезным, лучшая благодарность это кнопка "Мне нравится" ;)