|
Удаление задублированных строк в тч. товары - как проще? | ☑ | ||
---|---|---|---|---|
0
suvolod
05.08.12
✎
10:13
|
Уже не первый раз сталкиваюсь с ситуацией: при переходе с ТиС 7.7 на УТ 10.3 создается документ "Переоценка товаров в рознице", в котором может быть куча задублированных позиций номенклатуры с разной ценой.
Как проще их почистить? Сворачивание тч не подходит, т.к. суммирование цен не имеет смысла. Перебор строк "по одной" и удаление дублей номенклатуры, конечно, сделать можно. Но интересно более оптимальное решение... задача задачу можно поставить так: в ТЧ документа оставить только одну позицию товара с максимальной ценой. |
|||
1
France
05.08.12
✎
10:17
|
выбрать запросом все товары с макс.ценой во временную таблицу
удалить все записи с дублями загрузить из временной таблицы. А документ партии есть в переоценке товаров в рознице? |
|||
2
France
05.08.12
✎
10:20
|
документа нет.
но есть серии - потому и цены разные. |
|||
3
suvolod
05.08.12
✎
10:22
|
документа партии нет.. переоценка по времени создания вообще до начала реального оприходования создается.
|
|||
4
suvolod
05.08.12
✎
10:33
|
France, не совсем понял насчет временной таблицы. Я могу удалить дубли запросом путем группировки строк в запросе по номенклатуре:
ВЫБРАТЬ ПереоценкаТоваровВРозницеТовары.Номенклатура КАК Номенклатура, ПереоценкаТоваровВРозницеТовары.ХарактеристикаНоменклатуры, ПереоценкаТоваровВРозницеТовары.СерияНоменклатуры, МАКСИМУМ(ПереоценкаТоваровВРозницеТовары.ЦенаВРознице) КАК ЦенаВРознице ИЗ Документ.ПереоценкаТоваровВРознице.Товары КАК ПереоценкаТоваровВРозницеТовары ГДЕ ПереоценкаТоваровВРозницеТовары.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО ПереоценкаТоваровВРозницеТовары.Номенклатура, ПереоценкаТоваровВРозницеТовары.ХарактеристикаНоменклатуры, ПереоценкаТоваровВРозницеТовары.СерияНоменклатуры УПОРЯДОЧИТЬ ПО ПереоценкаТоваровВРозницеТовары.Номенклатура.Наименование ... но это вариант, когда фактически придется очищать и перезаполнять документ на основании данных запроса. Хотя, конечно, отработать должен быстрее, чем простой циклический перебор и удаление дублей |
|||
5
suvolod
05.08.12
✎
10:34
|
Скорее всего, ты имел ввиду нечто более оптимальное, так?
|
|||
6
ЧашкаЧая
05.08.12
✎
10:42
|
(5) Если (2), то нужно сделать вложенный запрос без серий с максимумом цен и потом уже соединять его с ТЧ по номенклатуре, характеристике и цене. И кстати лучше без упорядочивания.
|
|||
7
suvolod
05.08.12
✎
10:53
|
упорядочивание я делал, чтобы консоли запросов было проще увидеть, что дубли "ушли". Кажется, начинаю понимать, что мне пытались подсказать в (1) и (6)
ВЫБРАТЬ ПереоценкаТоваровВРозницеТовары.Номенклатура КАК Номенклатура, МАКСИМУМ(ПереоценкаТоваровВРозницеТовары.ЦенаВРознице) КАК ЦенаВРознице ПОМЕСТИТЬ ВремТаб ИЗ Документ.ПереоценкаТоваровВРознице.Товары КАК ПереоценкаТоваровВРозницеТовары ГДЕ ПереоценкаТоваровВРозницеТовары.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО ПереоценкаТоваровВРозницеТовары.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПереоценкаТоваровВРозницеТовары.Ссылка, ПереоценкаТоваровВРозницеТовары.НомерСтроки, ПереоценкаТоваровВРозницеТовары.Номенклатура, ПереоценкаТоваровВРозницеТовары.ХарактеристикаНоменклатуры, ПереоценкаТоваровВРозницеТовары.СерияНоменклатуры, ПереоценкаТоваровВРозницеТовары.Количество, ПереоценкаТоваровВРозницеТовары.ЦенаВРозницеСтарая, ПереоценкаТоваровВРозницеТовары.ЦенаВРознице ИЗ Документ.ПереоценкаТоваровВРознице.Товары КАК ПереоценкаТоваровВРозницеТовары ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВремТаб КАК ВремТаб ПО ПереоценкаТоваровВРозницеТовары.Номенклатура = ВремТаб.Номенклатура И ПереоценкаТоваровВРозницеТовары.ЦенаВРознице = ВремТаб.ЦенаВРознице ГДЕ ПереоценкаТоваровВРозницеТовары.Ссылка = &Ссылка не совсем понятно только, насколько корректно результат запроса загрузиться обратно в тч документа (НомерСтроки - то полетел), но сейчас попытаюсь |
|||
8
AlexNew
05.08.12
✎
11:04
|
Правила переноса посмотреть не предлагать?
|
|||
9
suvolod
05.08.12
✎
11:28
|
а что в правилах переноса стоит посмотреть, подскажи?
На мой взгляд, типовой механизм сделан как-то странно: сперва все цены сбрасываются в общий документ Переоценка товаров в рознице, хотя ежу понятно, что автоматом он никогда не проведется (обычно там очень много дублей). У меня сейчас, например, создан документ с ~45000 позиций, и это только один из четырех. Как обработать и провести его обычному буху - непонятно. Да еще создается виртуальный "# Розничный склад", на который, я так понимаю, сливаются все оприходования, и только потом перемещениями раздаются реальным розничным складам. |
|||
10
AlexNew
05.08.12
✎
11:36
|
(9) Справочник называется номенклатура.
|
|||
11
m-serg74
05.08.12
✎
11:44
|
(7) может не сработать если две строки с одной номен и ЦенаВРознице одинаковая будет, двойники не уйдут
|
|||
12
m-serg74
05.08.12
✎
11:46
|
(11) не внимательно (0) прочитал - "задублированных позиций номенклатуры с разной ценой")))
|
|||
13
suvolod
05.08.12
✎
11:49
|
(10) комментарий не понял....
(12) да.. вроде такой ситуации не должно быть, хотя.. черт его знает, вдруг выгрузка и полностью задублированные строки в одном документе когда-нибудь сможет создать. буду иметь ввиду. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |