Страница 1 из 2

Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Сб янв 16, 2016 8:39 am
sergvvoloshyn
Подскажите, как быстро заполнить одинаковые значения в произвольных свойствах товара, для большого количества товаров.

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Сб янв 16, 2016 8:53 pm
dmitry
Не получится.

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Вт янв 19, 2016 12:57 pm
sergvvoloshyn
А если сделать через SQL запрос ?

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Вт янв 19, 2016 2:02 pm
dmitry
Хорошо. Если для всех товаров в определенной группе проставить одинаковое значение, то вот как.

1. Создать резервную копию.

2. Чтобы узнать ID этого свойства:
- скопировать строчку ниже,
- нажать в программе Ctrl+А10,
- вставить, нажать ОК.
- Запомнить или записать ParamID.

Predpr.GlobalFunction.ShowData("SELECT ID as ParamID, ParamName FROM ArticleParamNames WHERE Flag=0")

3. Чтобы узнать ID группы товаров:
Те же действия (скопировать, вставить, нажать). Запомнить GroupID.

Predpr.GlobalFunction.ShowData("SELECT ID AS GroupID, TextName FROM Articles WHERE TypeID=0 ORDER BY TextName")

4. Само добавление:
- Те же действия (скопировать, вставить).
- Заменить ParamID , GroupID и Val на свои значения, например:
ParamID = 8
GroupID = 5
Val = "Китай"

- Нажать ОК.

Dim R As Predpr.TableSQL, ParamID As Integer, GroupID As Integer, Val As String

ParamID = 1
GroupID = 1
Val = "Текст"

R = DB.OpenRecordset("SELECT ID FROM Articles WHERE ParentID=" & GroupID)
Do While Not R.EOF
Try
DB.Execute("INSERT INTO ArticleParams (ItemID,ParamID,Val_3) SELECT " & R("ID") & "," & ParamID & ",'" & Val & "'")
Catch ex As System.Exception
End Try
R.MoveNext()
Loop
R.Close()


Повторить все с другой группой товаров, меняя GroupID.

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Вт янв 19, 2016 3:51 pm
sergvvoloshyn
спасибо, попробую. Просто мне надо изменить свойства для 1000 позиций, а вручную делать долго.

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Вт янв 19, 2016 4:39 pm
sergvvoloshyn
Спасибо большое, все получилось!!! :D

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Вт янв 19, 2016 5:17 pm
sergvvoloshyn
А возможно ли создание текстового поля длиной более чем 255 символов (свойство используется для описания товара, для интернет сайта)

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Вт янв 19, 2016 7:25 pm
dmitry
Позвоните завтра, это требует пошагового руководства.

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Ср янв 20, 2016 10:54 am
sergvvoloshyn
Спасибо!

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Ср янв 27, 2016 9:48 am
sergvvoloshyn
А как можно увеличить поле ввода для длинной строки ? И невозможно нажать кнопку ОК, она закрывается текстом

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Ср янв 27, 2016 10:07 am
sergvvoloshyn
Есть еще один момент, как очистить значение поля через sql-запрос? заполнение значением - "" работает не корректно.

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Ср янв 27, 2016 1:48 pm
dmitry
1. "Увеличить..."
Внес изменения, заменил обновление программы, загрузите его заново (Сервис/Обслуживание/Получить_обновление).

2. "Очистить..."
Немного другой текст:

Dim R As Predpr.TableSQL, ParamID As Integer, GroupID As Integer

ParamID = 1
GroupID = 1

R = DB.OpenRecordset("SELECT ID FROM Articles WHERE ParentID=" & GroupID)
Do While Not R.EOF
Try
DB.Execute("DELETE FROM ArticleParams WHERE ItemID=" & R("ID") & " and ParamID=" & ParamID)
Catch ex As System.Exception
End Try
R.MoveNext()
Loop
R.Close()


(Напомню: Заменить ParamID и GroupID на свои значения)

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Ср янв 27, 2016 4:24 pm
sergvvoloshyn
Спасибо большое!

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Ср фев 16, 2022 3:03 pm
dimvin
Добрый день. Мы ввели у товаров пользовательское свойство "Бренд". Хотим скриптом заполнить это свойство для всех товаров в данной группе, у которых в названии присутствует этот бренд. К примеру, в группе Игрушки для всех товаров, в названии которых есть Barbie - заполнить свойство Бренд = Barbie. Выше вы описали подобный же пример, в нем все понятно, у нас чуть измененные условия. Подскажите, пожалуйста, правильную строку DB.Execute("...") для шага 4. Как получить ParamID & GroupID - ясно. Спасибо

Re: Заполнение одинаковых значений свойствах товара.

СообщениеДобавлено: Ср фев 16, 2022 3:44 pm
dmitry
После 2016 года, когда был верхний пост, все изменилось, сейчас можно легко задать всем товарам в одной группе одинаковое значение свойства.
Это если у вас группы товаров соответствуют брендам, т.е. есть группа/подгруппа "Барби".
Если сложнее (названия со словом Барби могут встречаться в разных группах), то пришлите мне базу данных на pr-4@ukr.net, пришлю скрипт, где достаточно только подставлять фрагмент названия.