Архив рубрики: Разработка

Битрикс записать полное наименование в наиенование

Если необходимо заменить поле NAME элемента на PREVIEW_TEXT при добавлении или изменении = или например при выгрузке товаров из 1с

AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "DropPreviewText");
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "DropPreviewText");

function DropPreviewText($arFields){
   if (@$_REQUEST['mode']=='import'){

      if (!is_array($arFields['NAME'])){
         $arFields['NAME'] = $arFields['PREVIEW_TEXT'];
      }
         unset($arFields['PREVIEW_TEXT']);
         unset($arFields['PREVIEW_TEXT_TYPE']);

         unset($arFields['DETAIL_TEXT']);
         unset($arFields['DETAIL_TEXT_TYPE']);
   }
}

PHP Вычесть из даты год, месяц, или день

php-date-time

Вычитаем из конкретной даты день

$date = new DateTime('2000-01-01');
$date->modify('-1 day');
echo $date->format('d.m.Y H:i:s');

Вычитаем месяц

$date = new DateTime();
$date->modify('-1 month');
echo $date->format('Y-m-d H:i:s');

Вычитаем год

$date = new DateTime();
$date->modify('-1 year');
echo $date->format('Y-m-d H:i:s');

PHP Как обрезать длину строки с учетом слов

Например у нас есть наименование товара, которое превышает 54 символа и не в вписывается в верстку и концепт

Все это можно обработать следующим образом

= 54):
    $arItems["~NAME"] = crop_str($arItems["~NAME"],54)."...";

endif;
?>

Мы обрезали строку до 54 символов с учетом слов и запихнули уже отработанную строку обратно в массив.

1с8.2 получить выделенные строки из динамического списка

Кто пробовал получить данные с динамического списка меня поймет — это большой геморой. Для себя я нашел два пути решения первый  — это выгребать данные через выделенные строки (самый простой), второй — создать  аналогичный динамическому списку запрос  и в него указать параметры отбора указанные пользователем, но это не работает если пользователь решит фильтрануть пользуясь поиском.

Читать далее 1с8.2 получить выделенные строки из динамического списка

1c8 УТ как получить значение настройки пользователя

Например, нижеописанной функцией  получаем значение настройки основной тип цен продажи

Функция ПолучитьРозничныйТипЦенПользователя () Экспорт 
ОсновнойТипЦенПродажи = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойТипЦенПродажи");	
Если ОсновнойТипЦенПродажи = Справочники.ТипыЦенНоменклатуры.ПустаяСсылка() Тогда 
Сообщить("Необходимо заполнить роничный тип цен в настройках пользователя");
КонецЕсли;
Возврат	ОсновнойТипЦенПродажи;	
КонецФункции

1c8 как программно добавить значение доп свойства

У заказчика интернет магазин на 1с-битрикс и УТ (обычное приложение), операторы заказчика не верно завели значения нескольких свойств (значений под несколько тысяч).

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

Читать далее 1c8 как программно добавить значение доп свойства

1с8 Установить отбор в форме выбора (Управляемое приложение)

Устанавливаем отбор по двум полям операция и валюта.

Читать далее 1с8 Установить отбор в форме выбора (Управляемое приложение)

1c8 как добавить или прочитать дополнительный реквизит

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

Читать далее 1c8 как добавить или прочитать дополнительный реквизит