Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11

Пропадают значения свойств в товарах

25.10.2017, 13:19. Показов 4750. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пропадают значения свойств в товарах. Подскажите плиз, с чем может быть связана проблема и как её решить.

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2017, 13:19
Ответы с готовыми решениями:

Пропадают границы блоков div при задании им свойств
Здравствуйте! Не знаю почему, но у меня, когда я создаю два блока без стиля внутри блока "content" бордеры нормально...

Ключи отображает корректно, а значения нет (при новом товаре пропадают старые значения)
Добрый день! Имеется база для отпуска товаров с магазинного склада, учет товаров происходит по партиям. при формировании...

Пропадают значения переменной
Всё дело в указателе на cv::Point p. Код ниже даёт случайные ошибки выхода за пределы памяти. Если объявлять, p как New cv::Point() -...

19
4 / 4 / 0
Регистрация: 24.10.2017
Сообщений: 14
25.10.2017, 13:37
Нужно обязательно смотреть после каких действий они пропадают. Как вариант: неправильное использование метода SetPropertyValues.
1
3012 / 1450 / 262
Регистрация: 16.03.2008
Сообщений: 6,466
Записей в блоге: 2
25.10.2017, 13:37
обмен с 1с или какойто самопальный функционал
1
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
25.10.2017, 15:16  [ТС]
подскажите пжл, можно ли посмотреть эти действия в логах (и в каких логах, их там немерянно) и где искать SetPropertyValues?

Добавлено через 1 час 5 минут
подскажите пжл, можно ли посмотреть эти действия в логах (и в каких логах, их там немерянно) и где искать SetPropertyValues?
0
4 / 4 / 0
Регистрация: 24.10.2017
Сообщений: 14
25.10.2017, 15:19
https://wiki.iphoster.net/wiki... 0%B3%D0%B8

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

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

посмотрите bitrix/php_interface/init.php, может быть там что-то есть. может быть
Цитата Сообщение от voral Посмотреть сообщение
обмен с 1с
при синхронизации такая ерунда происходит или при импорте.

масса вариантов, нужно только анализировать.
1
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
25.10.2017, 15:32  [ТС]
синхронизации с 1с нет, ни чего не импортировалось

Добавлено через 3 минуты
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "MinMaxSKUPriceUpdate");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "MinMaxSKUPriceUpdate");
 
function MinMaxSKUPriceUpdate(&$arFields){
 
if($arFields['IBLOCK_ID']==2){
   
    $MIN_PRICE=0;
    $MAX_PRICE=0;
 
    $resffer = CIBlockPriceTools::GetOffersArray(
      2, 
      $arFields['ID'], 
      array("NAME"=>"asc"), 
      array('IBLOCK_ID', 'ID', 'CATALOG_GROUP_1'), 
      array(), 
      0, 
      array("BASE"), 
      "N"
   );
   if(is_array($resffer)){
      foreach ($resffer as $key => $value) {
            if($MIN_PRICE==0) $MIN_PRICE=$value['CATALOG_PRICE_1'];
            if($MAX_PRICE==0) $MAX_PRICE=$value['CATALOG_PRICE_1'];
 
            if(!isset($MIN_PRICE)){$MIN_PRICE = $value['CATALOG_PRICE_1'];}
            if(!isset($MAX_PRICE)){$MAX_PRICE = $value['CATALOG_PRICE_1'];}
 
 
            if($MIN_PRICE > $value['CATALOG_PRICE_1']){
               $MIN_PRICE = $value['CATALOG_PRICE_1'];
            }
            if($MAX_PRICE < $value['CATALOG_PRICE_1']){
               $MAX_PRICE = $value['CATALOG_PRICE_1'];
            }
      }
   }
 
   $arPrice = CCatalogProduct::GetOptimalPrice($arFields['ID'], 1, array(1,2,3,4,5,6,7));
      $MIN_PRICE=floatval($MIN_PRICE);
      if($MIN_PRICE=="") $MIN_PRICE=$arPrice["DISCOUNT_PRICE"];
   if($arPrice["DISCOUNT_PRICE"]!="" && $arPrice["DISCOUNT_PRICE"]<$MIN_PRICE){
      $MIN_PRICE=$arPrice["DISCOUNT_PRICE"];
    }
 
 
      $arFields['PROPERTY_VALUES']['MINIMUM_PRICE'] = $MIN_PRICE;
      $arFields['PROPERTY_VALUES']['MAXIMUM_PRICE'] = $MAX_PRICE;
}
   
}
?>
0
3012 / 1450 / 262
Регистрация: 16.03.2008
Сообщений: 6,466
Записей в блоге: 2
25.10.2017, 16:22
Возможно где то в вашем коде используется CIBlockElement::SetPropertyValues для установки значений только части свойств (не всех). Особенность метода, что свойства элемента, которые не переданы затираются. В таких случаях надо использовать CIBlockElement::SetPropertyValuesEx
1
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
25.10.2017, 16:32  [ТС]

оно?

Добавлено через 5 минут
Цитата Сообщение от voral Посмотреть сообщение
Возможно где то в вашем коде используется CIBlockElement::SetPropertyValues для установки значений только части свойств (не всех). Особенность метода, что свойства элемента, которые не переданы затираются. В таких случаях надо использовать CIBlockElement::SetPropertyValuesEx
это я уже понял, но не пойму пока что понять где этот метод указан, т.к. не шарю в структуре битрикс
0
3012 / 1450 / 262
Регистрация: 16.03.2008
Сообщений: 6,466
Записей в блоге: 2
25.10.2017, 17:04
Ну оно то оно.... Поищите по файлам использование этой функции. Для начала в каталогах
/local/
/bitrix/templates/
/bitrix/php_interface/
/bitrix/components/* (кроме bitrix)
/bitrix/modules/* (кроме bitrix)

Далее пройдитесь по остаkьным каталогам, кроме /bitrix/ , /upload/ если не повезет придется искать по всему ядру: /bitrix/
1
4 / 4 / 0
Регистрация: 24.10.2017
Сообщений: 14
25.10.2017, 17:13
Цитата Сообщение от AKA-Taurus Посмотреть сообщение
синхронизации с 1с нет, ни чего не импортировалось
Добавлено через 3 минуты
PHPВыделить код

<?
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "MinMaxSKUPriceUpdate");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "MinMaxSKUPriceUpdate");
Там, вроде, всё ок, если это полная версия файла.

ищите здесь:
Цитата Сообщение от voral Посмотреть сообщение
Ну оно то оно.... Поищите по файлам использование этой функции. Для начала в каталогах
/local/
/bitrix/templates/
/bitrix/php_interface/
/bitrix/components/* (кроме bitrix)
/bitrix/modules/* (кроме bitrix)
Далее пройдитесь по остаkьным каталогам, кроме /bitrix/ , /upload/ если не повезет придется искать по всему ядру: /bitrix/
попробуйте просто поиск в этих папках по ключевому слову SetPropertyValues

И еще из опыта: встречала код на изменение элементов во всяких неожиданных местах, поэтому искать нужно во всех указанных выше папках. если не найдёте, попробуйте поискать CIBlockElement::Update
1
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
25.10.2017, 17:20  [ТС]
нашёл в /bitrix/modules/iblock/classes/mysql/iblockelement.php
Миниатюры
Пропадают значения свойств в товарах  
0
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
25.10.2017, 17:22  [ТС]
нужно просто заменить на CIBlockElement::SetPropertyValuesEx? - не повлечёт ли это какие либо последствия на работающем сайте?
0
4 / 4 / 0
Регистрация: 24.10.2017
Сообщений: 14
25.10.2017, 19:00
Цитата Сообщение от AKA-Taurus Посмотреть сообщение
не повлечёт ли это какие либо последствия на работающем сайте
не повлечёт, меняйте.

Добавлено через 43 минуты
Цитата Сообщение от yamba Посмотреть сообщение
не повлечёт, меняйте.
Стоп, поторопилася я с ответом. Не нужно менять. Это файлы ядра:

Цитата Сообщение от AKA-Taurus Посмотреть сообщение
нашёл в /bitrix/modules/iblock/classes/mysql/iblockelement.php
Лучше скиньте скриншот содержимого папки modules, тогда можно будет сказать нужно там что-то искать или нет.
1
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
26.10.2017, 11:42  [ТС]
Цитата Сообщение от yamba Посмотреть сообщение
Лучше скиньте скриншот содержимого папки modules, тогда можно будет сказать нужно там что-то искать или нет.
0
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
26.10.2017, 11:45  [ТС]
Цитата Сообщение от yamba Посмотреть сообщение
Стоп, поторопилася я с ответом. Не нужно менять. Это файлы ядра:
это же файлы модуля iblock
0
4 / 4 / 0
Регистрация: 24.10.2017
Сообщений: 14
26.10.2017, 13:13
Цитата Сообщение от AKA-Taurus Посмотреть сообщение
это же файлы модуля iblock
Это файлы, которые лучше не трогать. Просто не посмотрела на путь к файлу.

Обновите систему.

Касательно левых модулей, которые стоит проверить:
justmozg.*, kda.*, nbrains.*

ну, и далее

/local/
/bitrix/templates/
/bitrix/php_interface/
/bitrix/components/* (кроме /bitrix/components/bitrix*)
по всем каталогам, кроме /bitrix/* , /upload/*

Ищем SetPropertyValues. Не помогло, ищем CIBlockElement::Update, в конце концов просто CIBlockElement по всем каталогам, кроме /bitrix/* , /upload/*
0
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
30.10.2017, 16:34  [ТС]
провёл поиск по всему сайту, нашло 119 совпадений по SetPropertyValues
Миниатюры
Пропадают значения свойств в товарах  
0
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
30.10.2017, 16:39  [ТС]
Цитата Сообщение от yamba Посмотреть сообщение
Ищем SetPropertyValues. Не помогло, ищем CIBlockElement::Update, в конце концов просто CIBlockElement по всем каталогам, кроме /bitrix/* , /upload/*
это оно?
\bitrix\modules\iblock\classes\mysql\ibl ockelement.php
Code
1
2
3
4
                CIBlockElement::SetPropertyValues($ID, $ar_element["IBLOCK_ID"], $arFields["PROPERTY_VALUES"]);
    function SetPropertyValues($ELEMENT_ID, $IBLOCK_ID, $PROPERTY_VALUES, $PROPERTY_CODE = false)
        foreach (GetModuleEvents("iblock", "OnIBlockElementSetPropertyValues", true) as $arEvent)
        foreach (GetModuleEvents("iblock", "OnAfterIBlockElementSetPropertyValues", true) as $arEvent)
0
4 / 4 / 0
Регистрация: 24.10.2017
Сообщений: 14
31.10.2017, 16:00
Не знаю, актуален ли будет ответ на сегодняшний день, но...
Писала же:
Цитата Сообщение от AKA-Taurus Посмотреть сообщение
кроме /bitrix/* , /upload/*
Чуете подвох?
Цитата Сообщение от AKA-Taurus Посмотреть сообщение
это оно?
\bitrix\modules\iblock\classes\mysql\iblockelem ent.php
0
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 11
31.10.2017, 16:24  [ТС]
в других местах не чего подобного я не нашёл
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2017, 16:24
Помогаю со студенческими работами здесь

Пропадают значения isset($_GET['patid'])
Здравствуйте. Есть таблица которая передает значения методом $_GET на другую страницу. Там они принимаются isset($_GET). Я решил...

В режиме Release пропадают значения переменных
Здравствуйте, уважаемые форумчане! Помогите разобраться с проблемкой. Программа запускается без ошибок в режиме отладки(debug), всё...

Значения свойств
Доброго. На официальном сайте на этой странице первый листинг: &lt;?php class SimpleClass { // неправильное определение...

Не получаю значения из свойств
Добрый день помогите разобратся почему в методе getContent() , не поподают данные присвоенные в методе getTitle() переменным $_title,...

Не подставляются значения свойств обьекта
class simpleHouse { public $model= &quot;&quot;; public $square =0; public $floor =0; public $color =&quot;&quot;; function...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru