Имя: Пароль:
1C
1С v8
Заполнение доп. реквизитов номенклатуры из списка характеристик через разделитель.
0 GoodEvening
 
13.09.23
13:52
Добрый день!
Имеем 1С 8.3.
От поставщика получаем файл с характеристиками товара следующего вида:
Экран: 6.1"/2400x1080 Пикс; Оперативная память (RAM): 8 ГБ; Основная камера МПикс: 12/50/10/TOF; и т.д.

Вопрос, как сопоставить наименования наших доп. реквизитов с реквизитами поставщика, при том что они могут отличаться (Основная камера МПикс - Поставщик, Основная камера (Разрешение) - у нас) и как получить значения из этих характеристик, при том что указаны они все в одной колонке через разделитель?
Как должен выглядеть код?
Заранее благодарен.
1 seevkik
 
13.09.23
13:53
А как по вашему это должно работать?
2 GoodEvening
 
13.09.23
13:56
(1) Пока не понимаю, вот и решил уточнить. Можно ли как то это сделать через код, чтобы не вручную. От многих поставщиков приходят характеристики такого вида.
3 Волшебник
 
13.09.23
14:00
Посадите человечка
4 azernot
 
13.09.23
14:04
(0) Теоретически, можно где-то хранить таблицу соответствий (в разрезе поставщика, или без оного). Регистр сведений. Наименование поставщика (тип - Строка), Значение характеристики - (тип - Характеристика)
Типа:
"Основная камера МПикс" = Основная камера (Разрешение)
"Экран" = Экран
"Оперативная память (RAM)" = Оперативная память.

И далее, если вдруг нашлось что-то, что не удалось сопоставить - отдельная форма для пользователя, где он выбирает нужную характеристику или помечает, что текст - не характеристика. После этого, в регистр добавляются новые записи.

Но сама характеристика - это полдела. Вам же ещё значения нужно нормализовать.
Вот к примеру значение "6.1"/2400x1080 Пикс". А у вас диагональ хранится в отдельной характеристике, а собственно разрешение - в другой. Очевидно, что тут надо как-то отдельно парсить.. далее, 8 ГБ, а у вас в уже есть значение "8 Gb" или "8 Гб" это число в мегабайтах, и вам надо туда писать 8000 (а то и 8192)

Короче, на каких-то ограниченных данных, для каких-то конкретных поставщиков, для постоянно повторяющихся видов товаров - сделать можно. А о какой-то мега-универсальности лучше сразу забыть.
5 seevkik
 
13.09.23
14:10
(2) Сначала представь как это должно выглядеть, а потом уже спрашивай как это реализовать, дело не в коде, а в юзер интерфейсе
6 Галахад
 
13.09.23
14:18
Насколько я помню, всего лишь нужно пригласить Маньяка и приобрести его обработку.
7 Garykom
 
13.09.23
14:35
(6) Забыл уточнить что ростовского а не московского ))
8 Garykom
 
13.09.23
14:36
(0) 1. Разделители
2. Признаки
3. Таблица замен
9 Garykom
 
13.09.23
14:37
(8)+ Если форматов мало и не меняются то легко
Если много и меняются постоянно - никак, кроме (3)
Или вам к ChatGPT
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.