Убрать лишние знаки в размерах товара

Ed71

Постоялец
Регистрация
6 Янв 2015
Сообщения
115
Реакции
23
Здравствуйте. При загрузке одиночного размера товара, например Для просмотра ссылки Войди или Зарегистрируйся в табе характеристики появляется такая вот фигня:
Размер
16.899999999999999, хотя когда размеров несколько, дробные части прописываются через запятую и без лишних знаков, например: Для просмотра ссылки Войди или Зарегистрируйся
Размер
15,3 | 15,6 | 16 | 16,6 | 17,8 | 18,2 | 18,5 | 19,4 | 19,8 | 20 | 20,7
В прайсе одиночный размер указан таким образом: 16,9. Товары загружаю с помощью модуля автоматическая обработка прайс-листов 8.2. С сайта-донора парсинг опций осуществляется посредством Content Downloader. Смотрел в настройках ocstore и модуля, но так и не нашел в чем дело. Подскажите, пожалуйста, если можно, почему у одиночных размеров запятая заменяется точкой и самое главное, появляется столько лишних знаков после разделителя. Как это исправить? Заранее огромное спасибо.
 
А почему характеристике точка? То есть там где 16.89999999.
Вы пробовали вручную поставить значение? Поменяйте руками значение этой опции в именно этом товаре, сначала с точкой - посмотрите, а потом с запятой - посмотрите.
 
  • Нравится
Реакции: Ed71
Вручную прописал 16,9, так и осталось в карточке товара. Получается 16,9 в 16.89999999 превращается на стадии импорта? Я вначале думал, может в ячейках формулы какие зашиты. В экселе формат ячеек ставил и текст и число - ничего не меняется...
 
Сейчас открыл xml блокнотом, такая же петрушка:
Код:
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
  <Created>2006-09-16T00:00:00Z</Created>
  <LastSaved>2015-11-03T19:47:36Z</LastSaved>
  <Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
  <AllowPNG/>
  <RemovePersonalInformation/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
  <WindowHeight>8010</WindowHeight>
  <WindowWidth>14805</WindowWidth>
  <WindowTopX>240</WindowTopX>
  <WindowTopY>105</WindowTopY>
  <RefModeR1C1/>
  <ProtectStructure>False</ProtectStructure>
  <ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
  <Style ss:ID="Default" ss:Name="Normal">
   <Alignment ss:Vertical="Bottom"/>
   <Borders/>
   <Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
   <Interior/>
   <NumberFormat/>
   <Protection/>
  </Style>
  <Style ss:ID="s62">
   <NumberFormat ss:Format="@"/>
  </Style>
  <Style ss:ID="s67">
   <NumberFormat ss:Format="0.0"/>
   <Protection ss:Protected="0"/>
  </Style>
</Styles>
<Worksheet ss:Name="Лист1">
  <Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="1" x:FullColumns="1"
   x:FullRows="1" ss:DefaultRowHeight="14.4375">
   <Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s62"><Data ss:Type="Number">237</Data></Cell>
    <Cell ss:StyleID="s62"><Data ss:Type="String">https://www.silver.ag/ru/silver-ring-zirconia-classic/</Data></Cell>
    <Cell ss:StyleID="s67"><Data ss:Type="Number">16.899999999999999</Data></Cell>
    <Cell ss:StyleID="s62"><Data ss:Type="String">жёлтый</Data></Cell>
   </Row>
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <PageSetup>
    <Header x:Margin="0.3"/>
    <Footer x:Margin="0.3"/>
    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
   </PageSetup>
   <Unsynced/>
   <Print>
    <ValidPrinterInfo/>
    <VerticalResolution>0</VerticalResolution>
    <NumberofCopies>0</NumberofCopies>
   </Print>
   <Selected/>
   <Panes>
    <Pane>
     <Number>3</Number>
     <ActiveCol>2</ActiveCol>
    </Pane>
   </Panes>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
</Worksheet>
</Workbook>
Как это: 16.899999999999999 привести к нормальному виду?
 
Вы с моей рекомендации выполнили только один вариант.

Если вы прописываете руками значение через точку 16.9 то после сохранения изменений там остается это же число??? Или стает длинное??

Я в недоумении.. Я не понимаю почему там точка!
Какой формат загружаемого файла с опциями? xml?
Парсите КД, выводите какой формат? Сразу xml? Или csv конвертируете в xml?

Хотя, наверное, суть не в этом...

Может вам вырыть последнюю версию парсера обработчика?
 
  • Нравится
Реакции: Ed71
Сейчас вручную прописал 16.9 в атрибутах, в админке. И сохранил.
В карточке товара ничего не изменилось, так и осталось 16.89999999. Формат загружаемого файла xml.
Сейчас я опишу, как происходит парсинг. Content Downloader парсит опции с html кодом, в который они заключены.
Чтобы несколько опций отделялось друг от друга я ставлю в программе разделитель: </option>| | .
Затем готовый файл csv открываю в CD, в редакторе csv файлов и преобразовываю html в текст, чтобы удалить все теги и прочий код и оставить одни значения опций.
После этого конвертирую csv в xml с помощью exel.
 
После этого конвертирую csv в xml с помощью exel.
Вот тут скорее всего и кроется засада. Ибо по практике известно, что excel может (и будет) косячить, где только можно.
Проверяйте excel. Или пробуйте конвертить чем-то другим.
 
Да, все правильно. Преобразование происходит при конвертации csv в xml. Пробовал конвертить посредство Libre Office, такая же фигня получается. Установил
Total CSV Converter, он конвертит в xml правильно, но модуль автоматическая обработка прайс-листов их не читает. Ругается, что они сконверчены не из xls файлов.
 
Пока пришел только к такому решению. На стадии обработки файла csv с опциями товаров, поставил в начале каждой строки | и в конце каждой строки |, чтобы ...ый exel при конвертации csv в xml воспринимал одиночные значения, не как числовые, а как строковые:
| 15 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,2 | 17,5 | 17,8 | 18,2 | 19,1 | 19,4 | 20 | 20,4 | 20,7 | 21 | 21,3 |
| 16,9 |
| 17,8 | 18,5 | 19,4 | 19,8 | 20 | 20,4 |
|15,6 |
| 15,3 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,5 | 17,8 | 18,2 | 18,5 | 18,8 | 19,1 | 19,8 | 20 | 21 | 21,3 | 22,3 |
| 22,6 |
Может быть есть еще какое-то решение этой проблемы, но, к сожалению, я его не нашел...
 
Пока пришел только к такому решению. На стадии обработки файла csv с опциями товаров, поставил в начале каждой строки | и в конце каждой строки |, чтобы ...ый exel при конвертации csv в xml воспринимал одиночные значения, не как числовые, а как строковые:
| 15 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,2 | 17,5 | 17,8 | 18,2 | 19,1 | 19,4 | 20 | 20,4 | 20,7 | 21 | 21,3 |
| 16,9 |
| 17,8 | 18,5 | 19,4 | 19,8 | 20 | 20,4 |
|15,6 |
| 15,3 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,5 | 17,8 | 18,2 | 18,5 | 18,8 | 19,1 | 19,8 | 20 | 21 | 21,3 | 22,3 |
| 22,6 |
Может быть есть еще какое-то решение этой проблемы, но, к сожалению, я его не нашел...
Есть вариант - Для просмотра ссылки Войди или Зарегистрируйся
Он конечно онлайн, но мне в своё время помогал. Попробуйте.
 
  • Нравится
Реакции: Ed71
Назад
Сверху