Открыта возможность перехода на модули с открытым кодом! Детали

Перейти к публикации

Не корректное отображение данных


Рекомендованные сообщения

Добрый день! Интересует ряд вопросов которые возникли при синхронизации:

1) Размеры (Д x Ш x В) в карточке товара размеры указаны в формате рационального числа в виде десятичных дробей. Например: 20,5х7х3. В админ панели данные значения отображаются корректно, однако на сайте отображается в виде натуральных чисел: 20х7х3. Есть ли возможность где то это исправить? 

2) При синхронизации 1С с сайтом, товары теряют связь с категориями сайта, которые не соответствуют категориям в 1С. В модуле "Обмен с 1С",  установила связи с категориями, это дало возможность удержать товары в присвоенных категориях на сайте. Однако возникла следующая проблема: все товары которые размещены в папке в программе 1С связываются с категорией на сайте и выгружаются полностью содержимым в папке, в данную категорию, что не есть удобным. Например у нас есть папка коврики в 1С, в ней находятся коврик для крупного рогатого скота, коврик для автомобиля ВАЗ и т.д. На сайте я создала категорию Легковые автомобили и подкатегорию ВАЗ. И когда я хочу занести коврик для автомобиля ВАЗ в эту подкатегорию, мне приходится связать категорию Коврики в 1С с Категорией Легковые автомобили, ВАЗ и в этом случае, у меня выгружается как коврик ВАЗ так и коврик для крупного рогатого скота . А если я не связываю категории, а просто на отдельный товар ставлю "птичку" на против той категории, где должен отображаться товар, то при последующей синхронизации, все позиции не связанных категорий слетают с сайта и в карточке товара уже нет "птички" над той категорией в которой необходимо отображать данный товар. Как сделать так, чтобы товар не слетал с категорий на сайте и была возможность отобразить единично товар в нужных категориях, а не полностью папкой? Потому что связка категорий работает только для категорий, если вписать непосредственно наименования товара и подвязать его на сайт, то логика системы не срабатывает и принимается за ошибку и вовсе ничего на сайт не выводится.

3) В карточке товара есть "Модель" и "Артикул" товара, который вытягивает данные при синхронизации с 1С из ячейки "Артикул". Вопрос: можно ли изменить связь, чтобы ячейка "Модель" вытягивала вытягивала данные с ячейки 1С "Внутренний код 1С"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте.

9 часов назад, rezinoplast сказал:

1) Размеры (Д x Ш x В) в карточке товара размеры указаны в формате рационального числа в виде десятичных дробей. Например: 20,5х7х3. В админ панели данные значения отображаются корректно, однако на сайте отображается в виде натуральных чисел: 20х7х3. Есть ли возможность где то это исправить? 

Смотрите файл контроллера товара, модель. Если в базу все записывается верно, то модуль свою функцию выполнил. А вывод от него не зависит

 

9 часов назад, rezinoplast сказал:

) При синхронизации 1С с сайтом, товары теряют связь с категориями сайта, которые не соответствуют категориям в 1С. В модуле "Обмен с 1С",  установила связи с категориями, это дало возможность удержать товары в присвоенных категориях на сайте. Однако возникла следующая проблема: все товары которые размещены в папке в программе 1С связываются с категорией на сайте и выгружаются полностью содержимым в папке, в данную категорию, что не есть удобным. Например у нас есть папка коврики в 1С, в ней находятся коврик для крупного рогатого скота, коврик для автомобиля ВАЗ и т.д. На сайте я создала категорию Легковые автомобили и подкатегорию ВАЗ. И когда я хочу занести коврик для автомобиля ВАЗ в эту подкатегорию, мне приходится связать категорию Коврики в 1С с Категорией Легковые автомобили, ВАЗ и в этом случае, у меня выгружается как коврик ВАЗ так и коврик для крупного рогатого скота . А если я не связываю категории, а просто на отдельный товар ставлю "птичку" на против той категории, где должен отображаться товар, то при последующей синхронизации, все позиции не связанных категорий слетают с сайта и в карточке товара уже нет "птички" над той категорией в которой необходимо отображать данный товар. Как сделать так, чтобы товар не слетал с категорий на сайте и была возможность отобразить единично товар в нужных категориях, а не полностью папкой? Потому что связка категорий работает только для категорий, если вписать непосредственно наименования товара и подвязать его на сайт, то логика системы не срабатывает и принимается за ошибку и вовсе ничего на сайт не выводится.

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

9 часов назад, rezinoplast сказал:

3) В карточке товара есть "Модель" и "Артикул" товара, который вытягивает данные при синхронизации с 1С из ячейки "Артикул". Вопрос: можно ли изменить связь, чтобы ячейка "Модель" вытягивала вытягивала данные с ячейки 1С "Внутренний код 1С"?

Что Вы подразумеваете под внутренним кодом 1с? Ид номенклатуры? или код, который 1с генерирует при создании номенклатуры (поле Код находится рядом с полем Артикул). Это разные понятия.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 часов назад, NeoSeo Help 4 сказал:

Здравствуйте.

Смотрите файл контроллера товара, модель. Если в базу все записывается верно, то модуль свою функцию выполнил. А вывод от него не зависит

 

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

Что Вы подразумеваете под внутренним кодом 1с? Ид номенклатуры? или код, который 1с генерирует при создании номенклатуры (поле Код находится рядом с полем Артикул). Это разные понятия.

 

1) Если я Вас правильно поняла, то мне нужны файлы: catalog/controller/product/product.php  и  catalog/model/catalog/product.php И там необходимо посмотреть логику вывода данных из админ.панели на сайт?

2) Благодарю за подсказку. Если я правильно поняла, то при отключении обновления категорий в модуле, мне придется в ручную "Птичкой" в карточке товара указать категорию отображения на сайте в таком случае Связывать категории 1С и категории на сайте не нужно будет, потому что из 1С товар будет выгружаться без истории категории в которой он находится и соответственно при последующей синхронизации проставленные "Птичкой" категории на сайте будут зафиксированными и товар не должен с них слетать. Нужно попробовать.

3) Под внутренним кодом 1С я подрозумеваю код который 1С генерирует при создании номенклатуры. В прикрепленных файлах я красным выделила связи 1С-админ панель - сайт. А зелёным, то как нам нужно. Т.е нам нужно чтобы в админ панели в ячейку *Модель затягивались данные не с ячейки Артикул с 1С, а с ячейки Код с 1С. Соответственно этот код будет отображаться и на сайте в виде кода товара.

Связь Артикул_код.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 минуты назад, rezinoplast сказал:

1) Если я Вас правильно поняла, то мне нужны файлы: catalog/controller/product/product.php  и  catalog/model/catalog/product.php И там необходимо посмотреть логику вывода данных из админ.панели на сайт?

2) Благодарю за подсказку. Если я правильно поняла, то при отключении обновления категорий в модуле, мне придется в ручную "Птичкой" в карточке товара указать категорию отображения на сайте в таком случае Связывать категории 1С и категории на сайте не нужно будет, потому что из 1С товар будет выгружаться без истории категории в которой он находится и соответственно при последующей синхронизации проставленные "Птичкой" категории на сайте будут зафиксированными и товар не должен с них слетать. Нужно попробовать.

3) Под внутренним кодом 1С я подрозумеваю код который 1С генерирует при создании номенклатуры. В прикрепленных файлах я красным выделила связи 1С-админ панель - сайт. А зелёным, то как нам нужно. Т.е нам нужно чтобы в админ панели в ячейку *Модель затягивались данные не с ячейки Артикул с 1С, а с ячейки Код с 1С. Соответственно этот код будет отображаться и на сайте в виде кода товара.

Связь Артикул_код.jpg1

1. Да, верно

2. Да, верно

3. В таком случае выбирайте синхронизацию по внутреннему коду, ниже есть опция Код и в ней нужно указать model

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, NeoSeo Help 4 сказал:

1. Да, верно

2. Да, верно

3. В таком случае выбирайте синхронизацию по внутреннему коду, ниже есть опция Код и в ней нужно указать model

1) Буду изучать.

2) Отключила обновления категорий в 1С и вручную вывела товары на сайт, запустила синхронизацию. Удалось зафиксировать товары в нужных категориях на сайте. Данный метод работает.

3) Ранне была выбрана синхронизация по внутреннему коду, прописала в ячейку Товар/Код вместо значения upc значение model. Данные по прежнему вытягиваются с той же ячейки 1С Артикул. Прикрепляю файл. Возможно не туда записала значение model?

Изменения model .jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 минут назад, rezinoplast сказал:

1) Буду изучать.

2) Отключила обновления категорий в 1С и вручную вывела товары на сайт, запустила синхронизацию. Удалось зафиксировать товары в нужных категориях на сайте. Данный метод работает.

3) Ранне была выбрана синхронизация по внутреннему коду, прописала в ячейку Товар/Код вместо значения upc значение model. Данные по прежнему вытягиваются с той же ячейки 1С Артикул. Прикрепляю файл. Возможно не туда записала значение model?

Изменения model .jpg

У вас код передается в файлах синхронизации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

44 минуты назад, NeoSeo Help 4 сказал:

У вас код передается в файлах синхронизации?

В карточке товара в графу Код 1С вписывается длинное значение (выделенно красным в прикрепленном файле), а мне нужно чтобы записывало короткое значение (выделено зеленым в прикрепленном файле )

КОД1С карточка.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, rezinoplast сказал:

В карточке товара в графу Код 1С вписывается длинное значение (выделенно красным в прикрепленном файле), а мне нужно чтобы записывало короткое значение (выделено зеленым в прикрепленном файле )

КОД1С карточка.jpg

На вкладке связи все верно записывается. 

Вы не ответили на вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

20 минут назад, NeoSeo Help 4 сказал:

На вкладке связи все верно записывается. 

Вы не ответили на вопрос.

Тогда я не совсем правильно Вас поняла. Когда вы спрашивали о передачи кода в файлах синхронизации, я поняла затягивает ли куда то код 1с который формируется при создании номенклатуры. И я показала что в карточке товара отображается в строке Код 1С длинное значение. А короткое значения Кода которое мне нужно не отображается не в карточке товара, ни в модуле синхронизации. А вы наверное имели ввиду, открыть сам файл выгрузки Обмена 1С и сайта и посмотреть есть ли где то прописан сам код маленького формата? Если вы имели ввиду это, то сам файл не смотрела.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 минут назад, rezinoplast сказал:

Тогда я не совсем правильно Вас поняла. Когда вы спрашивали о передачи кода в файлах синхронизации, я поняла затягивает ли куда то код 1с который формируется при создании номенклатуры. И я показала что в карточке товара отображается в строке Код 1С длинное значение. А короткое значения Кода которое мне нужно не отображается не в карточке товара, ни в модуле синхронизации. А вы наверное имели ввиду, открыть сам файл выгрузки Обмена 1С и сайта и посмотреть есть ли где то прописан сам код маленького формата? Если вы имели ввиду это, то сам файл не смотрела.

Да. Проверьте наличие кода в самих файлах 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 минуту назад, NeoSeo Help 4 сказал:

Да. Проверьте наличие кода в самих файлах 

Ок, спасибо. Если их там нет, то можно вписать КОД вместо Модель?

Изменено пользователем rezinoplast

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

42 минуты назад, rezinoplast сказал:

Ок, спасибо. Если их там нет, то можно вписать КОД вместо Модель?

Если кода нет в файлах, то как Вы впишите код?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15.12.2021 в 00:28, NeoSeo Help 4 сказал:

Здравствуйте.

Смотрите файл контроллера товара, модель. Если в базу все записывается верно, то модуль свою функцию выполнил. А вывод от него не зависит

 

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

Что Вы подразумеваете под внутренним кодом 1с? Ид номенклатуры? или код, который 1с генерирует при создании номенклатуры (поле Код находится рядом с полем Артикул). Это разные понятия.

 

1) Подскажите пожалуйта,  я нашла где в фалах: catalog/controller/product/product.php  и  catalog/model/catalog/product.php  отображаются строки отвечающие за параметры Размеров (Д x Ш x В) В файле контроллера я вижу прописана функция округления. Если я её изменю таким образом, это будет правильно, чтобы данные на сайте отображались с округлением до 2-х знаков после запятой? В верху прикрепленного файла отображены строки в файлах catalog/controller/product/product.php  и  catalog/model/catalog/product.php -  так как они есть сейчас, в чуть ниже, вариант изменения в файле контролера.

Округление до 2-х знаков после запятой.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

30 минут назад, rezinoplast сказал:

1) Подскажите пожалуйта,  я нашла где в фалах: catalog/controller/product/product.php  и  catalog/model/catalog/product.php  отображаются строки отвечающие за параметры Размеров (Д x Ш x В) В файле контроллера я вижу прописана функция округления. Если я её изменю таким образом, это будет правильно, чтобы данные на сайте отображались с округлением до 2-х знаков после запятой? В верху прикрепленного файла отображены строки в файлах catalog/controller/product/product.php  и  catalog/model/catalog/product.php -  так как они есть сейчас, в чуть ниже, вариант изменения в файле контролера.

Округление до 2-х знаков после запятой.JPG

Добрый вечер. 

Возможно Вы хотите проверить не пустое ли значение? В таком случае в условии на 15 строке не верно указана проверка после знака равно. 

$product_info['length'] ? И дальше как у Вас указано

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

20 часов назад, NeoSeo Help 4 сказал:

Добрый вечер. 

Возможно Вы хотите проверить не пустое ли значение? В таком случае в условии на 15 строке не верно указана проверка после знака равно. 

$product_info['length'] ? И дальше как у Вас указано

Т.е это должно иметь такой вид? 

Или второй вариант, если убрать просто round перед ($product_info['length']) и соответственно, данные будут отображаться на сайте без округления, как внесены в админ. панеле

Округление числа.JPG

Вариант2.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, rezinoplast сказал:

Т.е это должно иметь такой вид? 

Или второй вариант, если убрать просто round перед ($product_info['length']) и соответственно, данные будут отображаться на сайте без округления, как внесены в админ. панеле

Округление числа.JPG

Вариант2.JPG

Не совсем. Смотрите, на 15 строке предыдущего скрина Вам нужно написать вот так:

$product_info['length'] ? round($product_info['length'], 2) : '';

Эта запись будет обозначать, что Вы проверяете на существование $product_info['length'], если это значение есть, Вы его кладете с округлением в переменную, если нет - кладете пустую строку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

13 минут назад, NeoSeo Help 1 сказал:

Не совсем. Смотрите, на 15 строке предыдущего скрина Вам нужно написать вот так:

$product_info['length'] ? round($product_info['length'], 2) : '';

Эта запись будет обозначать, что Вы проверяете на существование $product_info['length'], если это значение есть, Вы его кладете с округлением в переменную, если нет - кладете пустую строку.

Точно, нужно было же round убрать с первой части. Спасибо большое!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 минут назад, rezinoplast сказал:

Точно, нужно было же round убрать с первой части. Спасибо большое!

Не за что, обращайтесь, всегда рады помочь 😉

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 минуты назад, NeoSeo Help 1 сказал:

Не за что, обращайтесь, всегда рады помочь 😉

Не сработало 😞 

Там где размер должен быть 25,45. Выводит всё равно 25. При этом почистила кэш на сайте и утром чистила кэш браузера

Последние изменения.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

24 минуты назад, rezinoplast сказал:

Не сработало 😞 

Там где размер должен быть 25,45. Выводит всё равно 25. При этом почистила кэш на сайте и утром чистила кэш браузера

Последние изменения.JPG

Смотрите что приходит в переменной до округления

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17.12.2021 в 17:30, NeoSeo Help 4 сказал:

Смотрите что приходит в переменной до округления

Теперь я не понимаю. Вы говорите нужно прописать: 

$product_info['length'] ? round($product_info['length'], 2) : '';

Я прописываю всё так же, но перед переменными пишу ещё: $dimension_length =

т.е. в целом строка выглядит вот так: $dimension_length = $product_info['length'] ? round($product_info['length'], 2) : '';

Как я понимаю это означает ($dimension_length = ) Переменная с названием "Измерение длины" равно ($product_info['length'] ? ) Переменной со значением длины, если такое существует в админ панели то ( round($product_info['length'], 2) : ''; ) это значение необходимо округлить до двух знаков после запятой  и вывести значение длины на сайт. Если данное значение не заполненно, то значение не выводится.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, rezinoplast сказал:

Теперь я не понимаю. Вы говорите нужно прописать: 

$product_info['length'] ? round($product_info['length'], 2) : '';

Я прописываю всё так же, но перед переменными пишу ещё: $dimension_length =

т.е. в целом строка выглядит вот так: $dimension_length = $product_info['length'] ? round($product_info['length'], 2) : '';

Как я понимаю это означает ($dimension_length = ) Переменная с названием "Измерение длины" равно ($product_info['length'] ? ) Переменной со значением длины, если такое существует в админ панели то ( round($product_info['length'], 2) : ''; ) это значение необходимо округлить до двух знаков после запятой  и вывести значение длины на сайт. Если данное значение не заполненно, то значение не выводится.

 

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

$product_info['length'] Что в этой переменной? Целочисленное значение или число с плавающей точкой? 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 часов назад, NeoSeo Help 4 сказал:

$product_info['length'] Что в этой переменной? Целочисленное значение или число с плавающей точкой? 

 

С плавающей точкой (float). Задавала значение в условие float($product_info['length']), а далее если такое выражение существует то при условии true должно выдать значение с округлением round, с двумя знаками после запятой. Тоже не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, rezinoplast сказал:

С плавающей точкой (float). Задавала значение в условие float($product_info['length']), а далее если такое выражение существует то при условии true должно выдать значение с округлением round, с двумя знаками после запятой. Тоже не работает.

Можем помочь Вам решить вопрос на оплачиваемой основе. Нужно смотреть непосредственно в коде почему Ваши изменения не работают. Это не относится к модулю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

11 часов назад, NeoSeo Help 4 сказал:

Можем помочь Вам решить вопрос на оплачиваемой основе. Нужно смотреть непосредственно в коде почему Ваши изменения не работают. Это не относится к модулю

Хорошо, будем иметь ввиду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...