г. Санкт-Петербург
Войти
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Заказать звонок
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности


1
2
3
4
5
6
7
8
9
10
13
В дополнение к выгрузке b2b - ускоренная выгрузка товаров., Обновление и ускоренная выгрузка товаров на портал б2б
 
Разработанный модуль выгрузки товаров позволяет до трех раз ускорить выгрузку,
гибко выбирая данные которые требуется обновлять, возможно достигнуть гораздо большей скорости обработки при выгрузке данных в сторону сайта или портала b2b

Выгрузка происходит как обычно и запускается со стороны 1С Предприятие 8.3 Управление торговля (Возможны и другие конфигурации)

После запуска выгрузка определяет количество товара и отбирает позиции для обновления.

Выгрузка проходит в три этапа, формирование массива позиций и данных для обновления, авторизация и выгрузка и фиксация и проверка результатов.

Например на первом этапе: Происходит подбор и оптимизация данных из 1С, после чего уже запускается непосредственно выгрузка.

Третий этап важен для получения гарантированного результата он проверяет соответсвие между реквизитами 1С и Сайта.

В случае когда используется предоставление скидок или спец. цен клиенту из 1С, через модуль выгрузки b2b-скидки , необходимо быть точно уверенным в том что все реквизиты цены и свойства будут синхронизированы верно.


Паралельным этапом идет логирование и отсылка результатов на электронную почту.
Проверка отправки почты Битрикса из консоли BitrixVM, Если при отправке используется msmtp который часто используют вместо sendmail, то можно проверить как проходит отправка из консоли сервера
 
В некоторых случаях, отправка не происходит т.к в битрик установлен по умолчанию отправка через sendmail

для чего в файле:

/etc/php.d/bitrixenv.ini

надо поменять

#sendmail_path = "/usr/sbin/sendmail -t -i"

на

sendmail_path = msmtp -t -i

Без условно для этого msmtp должен быть настроен по инструкции выше
Серверная оперативная память, Поступление оперативной памяти DDR4 серверно 2022г март
 
Внимание: Остаток и цену уточняйте.


Оперативная память Hynix 32Gb DDR4 ECC 2Rx4 PC4-2666V-RB2-11 шт 1,000
Офсетный облучатель Антэкс UMO-3 MIMO 2×2 N разъём шт 15,000
Офсетный облучатель Антэкс UMO-3 MIMO BOX - широкополосный, с боксом шт 8,000
Офсетный облучатель Антэкс UMO-3F MIMO 2×2 – 4G/3G шт 19,000
Офсетный облучатель Крокс KIP9-1700/2700 DP широкополосный MIMO шт 4,000
Память Crucial MTA18ASF2G72PDZ-2G9E1UK 16GB DDR4 шт 6,000
Память hynix 2 ГБ 1Rx8 PC3-12800U-11-12-A1 HMT325U6EFR8C-PB N0 AA шт 1,000
Память Kingston 8 Gb 1Rx4 PC314900R-13-12-C2 (KVR18R13S4/8) шт 8,000
Память MT36JSF2G72PZ-1G6D1HE 16 GB 2Rx4 PC3-12800R-11-11-J1 (HP-original) шт 2,000
Память MT36JSF2G72PZ-1G6E1FE 16 GB 2Rx4 PC3-12800R-11-11-E2 (HP-original) шт 2,000
Память PC4-2400T-RA1-11 32GB 2RX4 Samsung M393A4K40CB1-CRC0Q шт 2,000
Память PC4-2400T-RB1-11 32GB 2RX4 SK Hynix HMA84GR7MFR4N-UH шт 2,000
Память PC4-2933Y-RB2-12 32GB 2RX4 Samsung M393A4K40CB2-CVF8Y шт 1,000
Память PC4-2933Y-RB2-12 32Gb Samsung M393A4K40CB2-CVF8Y шт 12,000
Память SAMSUNG 16 ГБ PC3L-10600R DDR3-1333 ECC M393B2K70DM0 шт 48,000
Память Samsung 32 Gb 2Rx4 PC4-2400T-RA11-DC0 (M393A4K40BB1-CRC0Q) шт 3,000
Память Samsung M393A2K40BB1-CRC4Q PC-2400-RC11 16GB шт 5,000
Память SK hynix 16 ГБ NO ECC 2Rx8 PC4-3200AA-UB2-11 HMA82GU6CJE8N-XN N0 AD шт 2,000
Память SK hynix 8 Gb 2Rx8 PC3-14900R-13-12-B1 (HMT41GR7AFR8C-RD T8 AF) шт 4,000
Память SK hynix PC4-2933Y-RB2-12 32GB HMA84GR7JJR4N-WM шт 6,000
Память takems 2gb ddr2 800 cl5 (TMS2GB264D081-805YE) шт 1,000
Память серверная ELPIDA 16Gb 2RX4 PC3L-10600R шт 1,000
Память серверная Hynix DDR4 32GB 2933MHz HMA84GR7CJR4N-WMT8 шт 6,000
Память серверная Kingston DDR3 8Gb 4Rx8 PC3 10600R шт 1,000
Память серверная Kingston KVR1333D3N9 2Gb шт 1,000
Битрикс ошибка работы с сокетами, Ошибка! Не работает, После установки нового сертификата SSL часть возникает ошибка работы с сокетами
 
Работа с сокетами

Ошибка! Не работает
Есть рекомендации прописать:

в файле /etc/hosts пропишите
127.0.0.1 _ВАШ_ДОМЕН_

Но чаще проблема в не правильной установке сертификата SSL

В журнале проверки будет выглядеть всё вот так:

Работа с сокетами (check_socket): FailConnection to ssl://вашдомен.ru:443 Fail
Ошибка 0x80004002 Интерфейс не поддерживается ПроверкаЗапускаExcel.Форма.Форма.Форма Эксель = Новый COMОбъект Excel.Application, Описание настройки на 64-битном сервере приложений 1С, позволяющие создавать и использовать COMОбъект "Excel.Application" на сервере 1С
 
При возникновении ошибки вида: 0x80004002 Интерфейс не поддерживается {ВнешняяОбработка.ПроверкаЗапускаExcel.Форма.Форма.Форма(4)}: Эксель = Новый COMОбъект("Excel.Application"); Описание настройки на 64-битном сервере приложений 1С, позволяющие создавать и использовать COMОбъект "Excel.Application" на сервере 1С. Это поможет обработать большие файлы excel на сервере, в том числе через фоновые задания. Все описанные действия родились по мотивам прочтения тысячи форумов и было опробовано сначала на разработческом сервере, затем на боевом. Поэтому решил выложить это сюда, наверняка спасет вам хотя бы 1 день жизни.
  1. Заходим на сервер приложений 1С под локальным админом
  2. Запускаем DCOMCNFG (Консоль настроек "Component Services")
    1. Открываем ветку Console Root -> Component Services -> Computers -> My computer -> DCOM Config
    2. Ищем "Microsoft Excel Application"
    3. Если нашли, то переходим к пункту 4 (Настраиваем свойства DCOM компонента "Microsoft Excel Application")
    4. Закрываем "Component Services"
  3. Настройка реестра
    1. Запускаем REGEDIT
    2. Открываем ветку Computer\HKEY_CLASSES_ROOT\AppID\EXCEL.EXE, если ее нет, то создаем
    3. Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
    4. Выполняем команду "mmc comexp.msc /32", которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
    5. После этого в Component Services должен появиться "Microsoft Excel Application"
  4. Настраиваем свойства DCOM компонента "Microsoft Excel Application"
    1. Закладка "Security"
      1. "Launch and Activation Permissions" - Customize - Edit
        1. Добавляем пользователя, под которым запускается агент сервера 1С
        2. Назначем ему только следующие права (allow):
          1. Local Launch
          2. Local Activation
      2. "Access Permissions" - Customize - Edit
        1. Добавляем пользователя, под которым запускается агент сервера 1С
        2. Назначаем ему только следующие права (allow):
          1. Local Access
    2. Закладка "Identity"
      1. Должно быть выбрано "The launching user"
  5. Системные папки
    1. Папка "C:\Windows\SysWOW64\config\systemprofile\Desktop\"
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в свойства этой папки.
      3. Закладка Security
      4. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      5. Добавляем право "Read" и "Write"
    2. Папка "C:\Windows\System32\config\systemprofile\Desktop\"
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в свойства этой папки.
      3. Закладка Security
      4. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      5. Добавляем право "Read" и "Write"
Обработка для выгрузки скидок на Bitrix Управление Сайтом, Выгрузка скидок в сторону интернет магазина для УТ10.3 УТ11 , Выгрузка скидок в сторону БУС
 
Модуль выгрузки скидок для b2b порталов позволяет
  • выгружать скидки
  • создавать контрагентов
  • Заменяет пароль (опционально)
  • Выгружать условия контрагентов
  • Выгружать персонального менеджера
  • Выгружать взаиморасчеты
  • Сообщать о неполадках в выгрузке отсуствии нужных позиций или брендов
пример лога выгрузки:
Код
Невалидные товары и бренды, выгружаемые из 1с за 16.01.2022 01:58:31

Следующие товары, выгружаемые из 1с, не существуют на сайте:
Устройство для удаления засоров в унитазах и писсуарах с универсальной насадкой
Устройство для удаления засора спираль в виниловой оплетке с ершиком, для труб
Вантуз "Энергия" для удаления засоров гидроударом, в комплекте с тремя насадками 


Следующие бренды не существуют или не активны на сайте:
Ростовская Мануфактура

Всего обработано товаров с брендами: 10000
Из них бренд на сайте соответствует бренду в 1С: 9952
Несовпадающих брендов на сайте: 47
Выгрузка работает полностью автоматически всё что необходимо для запуска выгрузки установить галку

Для выгрузки контрагентов необходимо в 1С в карточке контрагента во вкладке категория поставить галочку синхронизировать с сайтом



Обязательным параметром также является e-mail по которому будет производится поиск контрагента

За одним е-майл(ом) закреплен 1 пользователь.

Возможно так же установить галку "менять пароль контрагента" и указать вручную пароль вашего клиента.

Выгрузка Менеджеров контрагента на сайт

По договоренности выгрузка юр.лиц происходит в т.н. "компании" на сайте Б2Б, которые являются ни чем иным, как "профилями покупателя".

При этом действует условие 1 вход (контрагент) = несколько компаний, по числу ТочекДоставки из карточки контрагента в 1с.

Для заполнения данных контрагента во внешнюю обработку 1с добавлена функция РаботаСДаннымиКонтрагента, которая выгружает следующие данные:

  • E-mail и пароль контрагента для входа

  • Наименование контрагента

  • Юридический адрес контрагента

  • ИНН / КПП

  • Контактное лицо, тел. факс при наличии

а также персонального менеджера контрагента, который указывается на вкладке "Как покупатель - Менеджеры" в 1с на карточке контрагента.

Далее, для того, чтобы прикрепленный персональный менеджер отображался в личном кабинете пользователя на сайте Б2Б, у пользователя на сайте должно быть создано поле с кодом UF_PERSONAL_MANAGER (и только так), в котором будет хранится ссылка на запись в инфоблоке "Служебные - Менеджеры".


Ответная часть на сайте создает(или обновляет) соответствующую запись в этом инфоблоке, и привязку к этой записи в карточке пользователя на сайте.

Файл ответной части, отвечающий за этот функционал, называется setmgr.php .

После этого, также выгружаются адреса доставки из карточки контрагента со вкладки "Точки доставки" (строка адреса, справочник ТочкиДоставки).

Ответная часть на php принимает выгруженные данные и раскладывает их по соответствующим полям профиля покупателя ("компании").

Здесь надо отметить, что для реализации этого функционала пришлось разобрать механизм оформления заказ на сайте, в частности создания/выбора/обновления профиля и его данных.

Количество профилей - количество адресов точек доставки в карточке 1с выгружаемого контрагента.

Файл ответной части, отвечающий за этот функционал, называется setdelivpts.php .

Отправка заказов менеджерам привязанных привязанных к контрагенту

В файле init.php в функции отправки заказа на почту custom_mail() мы получаем текущего пользователя и привязанных к нему контрагентов

получаем email привязанных контрагентов и отправляем на их почту письмо с заказом.

В результате все менеджеры выгруженные и привязанные к контрагенту получают уведомление о поступлении заказа.

Реализация ручных скидок в дополнение к автоматическим

Ручные скидки для сайта B2B необходимо задавать в соответствии с тем как описано ниже

  • Задаются название скидки, принадлежность скидки сайту B2B, а также Приоритет, равный всегда 1.

т.н ручные скидки создаются в том случае, когда вам необходимо дать дополнительную скидку при заказе с сайта.

Условия и необходимые действия для скидки задаются на вкладке "Действия и условия".

На вкладке "Ограничения" необходимо выбрать группу "Доступ к ценам Базовая" для правильного отображения нужных цен.

Сами скидки выгружаются полностью автоматически, обратите внимание что пользователь не будет выгружен на сайт до тех пор пока у него не будет хотя бы одной скидки.
Авто уведомление на почту или смс на мобильный при приходе заказа Битрикс и проверка если заказ проверочный от Яндекс, Часто бывает что требуется получать смс о поступлении заказа, либо уведомление о проверке Яндекс маркет, Авто уведомление на почту или смс на мобильный при приходе заказа Битрикс и проверка если заказ проверочный от Яндекс, Часто бывает что требуется получать смс о поступлении заказа, либо уведомление о проверке Яндекс маркет
 
Авто уведомление на почту или смс на мобильный при приходе заказа Битрикс и проверка если заказ проверочный от Яндекс, Часто бывает что требуется получать смс о поступлении заказа, либо уведомление о проверке Яндекс маркет



Уведомление по смс, или на почту при поступлении заказа простым кодом, конечно есть множество модулей которые чаще платные или просто без условно шлют вам смс.

В нашем случае мы можем проверять что именно за заказ и слать уведомления только в случае если заказ проверочный от яндекса

обычно яндекс присылает чтото такое в комментариях:

Это контрольный заказ Яндекс.Маркета: мы проверяем, вовремя ли вы отвечаете на заказы. Чтобы пройти проверку, в течение часа пришлите на inga.pertrova@yandex.ru код fhEy9i weC228sV, но удалите из него пробел, добавьте комментарий, например «Код проверки», и укажите тему письма. Если заказ поступил в нерабочее время, отправьте письмо, когда магазин откроется — в течение первого рабочего часа. Подробности: https://yandex.ru/support/partnermarket/quality/critical-mistakes.html#order__check-code

можно было бы конечно сразу автоматически или с задержкой слать код проверки, но мы оставим это для совсем ленивых.

открываем init.php

добавляем функцию yandex_check для обработки которая будет слать смс и писать вам на почту в случае если в комментарии заказа указано что заказ проверочный.


Код
Код
function Yandex_check($zakaz) 
{

$mail="vashapochta@mail.ru"; // ваша почта
$subject ="Проблема с заказом №".$zakaz ; // тема письма
$texto='Внимание заказ №'.$zakaz.' проверочный, срочно проверить и обработать в течении часа!';



$order = \Bitrix\Sale\Order::load($zakaz); // объект заказа
$order->getFields(); // получение полей заказа
$desc=$order->getField("USER_DESCRIPTION"); // получение комментария

if (stristr ( $desc , "пройти проверку")) {
// если находим слова "пройти проверку" то считаем что заказ сделал яндекс и выполняем два действия

//отправляем почту на ваш_емейл"майл.ру

if( mail($mail, $subject, $texto ) )
{
echo 'Успешно отправлено!'; }
else{
echo 'Отправка не удалась!';
}

// если вы зарегистрированы на sms.ru то можете сразу и смс отправлять.

Код
require_once '/home/bitrix/www/include/sms.ru.php'; // проверьте путь и скачайте последнюю версию с sms.ru

$smsru = new SMSRU(' сюда вставьте ключ из SMS.ru'); // Ваш уникальный программный ключ, который можно получить на главной странице

$data = new stdClass();
$data->to = '7911388838,730030300'; // через запятую перечень телефонов для отправки.

$data->text = $texto; // Текст сообщения в СМС

// $data->from = ''; // Если у вас уже одобрен буквенный отправитель, его можно указать здесь, в противном случае будет использоваться ваш отправитель по умолчанию
// $data->time = time() + 7*60*60; // Отложить отправку на 7 часов
// $data->translit = 1; // Перевести все русские символы в латиницу (позволяет сэкономить на длине СМС)

//для начала можно попробовать тест, но для реальной отправки надо будет закомментировать строку ниже

$data->test = 1; // Позволяет выполнить запрос в тестовом режиме без реальной отправки сообщения

// $data->partner_id = '1'; // Можно указать ваш ID партнера, если вы интегрируете код в чужую систему

$sms = $smsru->send_one($data); // Отправка сообщения и возврат данных в переменную

//дальше можно удалить нужно только для debug 
if ($sms->status == "OK") { // Запрос выполнен успешно
    echo "Сообщение отправлено успешно. ";
    echo "ID сообщения: $sms->sms_id. ";
    echo "Ваш новый баланс: $sms->balance";
} else {
    echo "Сообщение не отправлено. ";
    echo "Код ошибки: $sms->status_code. ";
    echo "Текст ошибки: $sms->status_text.";
}



}
}

Осталась мелочь, добавить обработчик получающий ID заказа в момент его создания и запускающий нашу функцию:

Следует убедится что у вас уже нет события ModifyOrderSaleMails

и соответственно модифицировать код
Код

Код
function ModifyOrderSaleMails($orderID, &$eventName, &$arFields)
{
   if(CModule::IncludeModule("sale") && CModule::IncludeModule("iblock"))
   {

Yandex_check($orderID);
   }
}
Настройка VM Bitrix на отправку через аккаунт Яндекс, Часто опен-релей банится и письма не уходят, отравка с живого ящика решает частично эту проблему, Настройка VM Bitrix на отправку через аккаунт Яндекс, Часто опен-релей банится и письма не уходят, отравка с живого ящика решает частично эту проблему
 
В базовых настройках в каталоге /www/bitrix

следует создать файл


.msmtprc

Со следующими настройками:


Код
# smtp account configuration for default
account default
logfile /home/bitrix/msmtp_default.log
host smtp.yandex.ru
port 587
from vash_email@yandex.ru
keepbcc off
auth on
user vash_email@yandex.ru
password ТУТ_ПАРОЛЬ

Для вашей конфигурации потребуется заменить в полях
user, from и password на данные вашего почтового ящика.

Ещё один момент, что почта не пойдет если вы ни разу не входили в почтовый ящик (он только создан).
Потребуется сначала зайти и принять соглашение с яндексом.


Удобный способ проверки.

php -r "mail('vasha_pochta@pochtaru', 'Test', 'Test');"

интересный момент что под каждый сайт можно создать отдельную настройку изменяя первую переменную
# smtp account configuration for default

account default

например для site.ru
будет
account site.ru

если при запуске у вас пишет:

msmtp: account default not found in /etc/msmtprc and /root/.msmtprc

измените account на default как в настройке.
При переходе с FRS на DFS систему репликаций домен AD переходит в статус Prepared, при установке флага DFSRMIG.EXE /setglobalstate 1 актив директория не меняет статус на prepared
 
в моем случае была Default controller policy - что логично сделать эту политику автоматически распространяемой на все КД, текущией и будущие.
При переходе с FRS на DFS систему репликаций домен AD переходит в статус Prepared, при установке флага DFSRMIG.EXE /setglobalstate 1 актив директория не меняет статус на prepared
 
Для обновления контроллеров домена до следующих версий после 2008r2 необходимо перевести систему репликации домена с FRS на DFSR

подробное описание можно найти в видео:

https://youtu.be/_g4IQYm1eic

проблема:

После перевода в режим Prepared, актив директория отказывается перейти в режим Prepared и остается в режиме preparing Или подготовка

DFSRMIG.EXE /setglobalstate 1
Код
PS C:\Windows\system32> DFSRMIG.EXE /GETMIGRATIONSTATE

Следующие контроллеры домена не синхронизированы с глобальным состоянием ("Подготовлено"):

Контроллер домена (состояние локальной миграции) - Тип DC
===================================================

DC1 ("Подготовка") - Writable DC

Состояние миграции еще не согласовано на всех контроллерах домена.


В первую очередь лечим все проблемы репликации

если НИ один из КД (контроллеров домена) не переходит в режим prepared или "подготовлен" это означает что имеется проблема и она описана в данном мануале:
https://docs.microsoft.com/en-us/troubleshoot/windows-server/group-policy/dfsr-sysvol-fails-migrate-...

в кратце необходимо проверить включена ли учетная запись администратора из под которого запускается миграция (переход на DFRS) не обладает нужными привелегиями
а именно:

"Управление аудитом и журналом безопасности" или "Manage Auditing and Security Log"

находится данная политика в разделе:

GPO_name\Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment

в моем случае и "по умолчанию"

Требуется модифицировать Default domaing policy




но если домен кто-то сильно кастомизировал, то возможно следует поискать в других политиках,какая именоо политика влияет позволяет выяснить данная команда:
Код
GPRESULT.EXE /H secpol.htm


она создает файл secpol.htm в котором можно посмотреть какая именно политика является "результирующей" для данного раздела.

о чём написано тут:
Код
Open secpol.htm in a web browser then select Show All. Search for the entry Manage Auditing and Security Log. It will list the group policy that is applying this setting.Using GPMC.MSC, edit that group policy to include the group Administrators.Allow AD and SYSVOL replication to converge on all DCs. On the PDCE, run:



если вы нашли политику и исправили (добавили в нее Domain administrators,Administrators, далее необходимо сделать

GPUPDATE /FORCE на ВСЕХ! контроллерах домена
в идеале их после этого ещё и перезагрузить, т.к должна произойти репликация +применение политики на всех КД что обычно от 15 минут до часа.

На этом этапе очень важно убедится что политика распространилась на все КД!

и обязательно перезайти на КД для перезапуска процесса перехода для чего рекомендуется сделать

DFSRMIG.EXE /setglobalstate 0

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

DFSRMIG.EXE /setglobalstate 1


Если не переходит в данный режим один КД то ищем в чём проблемы с синхронизацией контроллеров.

Ещё раз обратите внимание на то, что перевод в режим

DFSRMIG.EXE /setglobalstate 1 - prepared следует делать только после полного применения данной политики на всех КД

Например если вы выполните обновление локальной политики то в данное состояние перейдет только один контроллер на котором вы поменяли то только он перейдет в состояние prepared

если всё сделано верно и все КД перейдут в состояние 1

то вы получите:

Код
PS C:\Windows\system32> DFSRMIG.EXE /GETMIGRATIONSTATE

Все контроллеры домена успешно мигрировали в глобальное состояние ("Подготовлено").
Состояние миграции согласовано на всех контроллерах домена.
Успешно.
Изменено: pilot - 08.01.2022 02:35:54
1
2
3
4
5
6
7
8
9
10
13