Имя: Пароль:
1C
1С v8
Запрос по товарам
, ,
0 uvl
 
07.08.11
01:23
Подскажите плиз такую вещь по 1С8.2:
например, есть Спр.Товары в котором
Майка XS
Майка S
Майка M
Майка L
Брюки XS
Брюки S
и т.д....

как в запросе мне развернуть эти товары по колонкам:
------------------------------
Наименование| Размеры
==============================
Майка       | XS | S | M | L
------------------------------
Брюки       | XS | S |

Я так понимаю только оператором ПОДОБНО разбирать строки?
или есть другие варианты?

Оператором ПОДОБНО тоже че то не получается:
-ругается: Операция не разрешена в предложении
Номенклатура.Наименование<<?>> ПОДОБНО "XS"
1 Grusswelle
 
07.08.11
01:26
ВЫБОР
   КОГДА (размер = XL) ТОГДА (Количество)
   ИНАЧЕ NULL
КАК XL
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ И так с каждым размером. Количество размеров же фиксированное?
2 uvl
 
07.08.11
01:28
(1) да их всего 6 штук
3 Grusswelle
 
07.08.11
01:28
+ ну и сгруппировать не забудь...
4 Eugeneer
 
07.08.11
01:28
Ты уверен что запросом выход?
Может все таки выборкой ?
5 Eugeneer
 
07.08.11
01:29
т.е запрос по справочнику. а потом в вывборке управлять получением и выводом таблицы - вывести/присоединить.
Так будет проще. и более гибче
6 uvl
 
07.08.11
01:30
да у меня запрос выбирает еще цены, опт, розница... да и быстрее мне кажется будет
7 uvl
 
07.08.11
01:31
Запрос.Текст =
   "ВЫБРАТЬ
   |    Номенклатура.Ссылка КАК Наименование,
   |    ЕСТЬNULL(РознЦены.РознЦена, 0) КАК РознЦена,
   |    ЕСТЬNULL(ОптЦены.ОптЦена, 0) КАК ОптЦена
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   |            ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Товар,
   |            ЦеныНоменклатурыСрезПоследних.Цена КАК РознЦена
   |        ИЗ
   |            РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&ВыбДата, ДЕНЬ), ВидЦены = &ВидЦеныРозн) КАК ЦеныНоменклатурыСрезПоследних) КАК РознЦены
   |        ПО Номенклатура.Ссылка = РознЦены.Товар
   |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   |            ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Товар,
   |            ЦеныНоменклатурыСрезПоследних.Цена КАК ОптЦена
   |        ИЗ
   |            РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&ВыбДата, ДЕНЬ), ВидЦены = &ВидЦеныОпт) КАК ЦеныНоменклатурыСрезПоследних) КАК ОптЦены
   |        ПО Номенклатура.Ссылка = ОптЦены.Товар
   |ГДЕ
   |    Номенклатура.Ссылка В ИЕРАРХИИ(&ВыбНоменклатура)
   |ИТОГИ
   |    СУММА(РознЦена),
   |    СУММА(ОптЦена)
   |ПО
   |    Наименование ИЕРАРХИЯ";
8 Eugeneer
 
07.08.11
01:31
(1) о каких размерах речь? я как понял у нег ов справочнике разные карточки в которых наименования разные , в гних вбиты размеры. т.е. характеристик нет и свойств тоже.
Все вбито в наименованиях.
Он хочет по ним сделать запрос.
9 Grusswelle
 
07.08.11
01:31
(5) Да нафиг гибкость. :)) Количество размеров даже в жизни фиксированное. Ну ещё XXL и XXS бывают. Не думаю, что в случае их появления у ТС будет проблема прикрутить ещё пару столбцов.
10 uvl
 
07.08.11
01:32
размеры в наименованиях ... в том то идело
11 Eugeneer
 
07.08.11
01:32
имхо проблемный случай. а по характеристикам почему не вести учет?
12 Eugeneer
 
07.08.11
01:32
(9) ты не понял темы.
13 Grusswelle
 
07.08.11
01:33
(12) Ой, блин...
14 Eugeneer
 
07.08.11
01:33
не мне кажется полный болт будет. надло менять структуру и начать использовать характеристики. я не видел таких еще примеров и решений чтобы справолось с таким.
15 uvl
 
07.08.11
01:34
они в товары ведут на сайте а потом грузят их в УТ 11 )) на сайте полей "характеристика" нет
16 Grusswelle
 
07.08.11
01:34
ПОДОБНО "%XL%" - Не?
17 uvl
 
07.08.11
01:35
структура сайта, т.е интернет магазина делалась до меня... )) вот так
18 uvl
 
07.08.11
01:35
(16) ругается
19 uvl
 
07.08.11
01:36
Операция не разрешена в предложении
Номенклатура.Наименование
20 Eugeneer
 
07.08.11
01:36
Есть я придумал!! вопрос только СКД?
21 uvl
 
07.08.11
01:36
может ее выразить как то надо... хотя жто и так строка
22 Eugeneer
 
07.08.11
01:36
не зделаешь ты никаким запросом это но есть решение!
23 uvl
 
07.08.11
01:36
(20) поясни плиз
24 kotletka
 
07.08.11
01:39
(23)сейчас сайт свой пиарить начнет
25 Grusswelle
 
07.08.11
01:39
(23) Схему компановки данных используешь?
(20) По ходу, нет.
:-))
26 kotletka
 
07.08.11
01:40
в СКД группировать по наименованию
27 Eugeneer
 
07.08.11
01:40
1) первый запрос по номенклатуре
2) выгружаем его в ТЗ
3) делаешь строку с перечнем размеров.
4) обрабатываем ТЗ.
в ТЗ добавляем пару колонок
будет три
Номенклатура (реальные ссылки). Две остальных называем типа
Обработанное наименование и Размер.
Обходишь всю ТЗ путем:
каждоле наименование номенклатуры ищем размер.
Обрезаем наименование и помещаем его в колонку Обработанное наименование, а в размер пишет то что совпало
5) таким образом у нас получилась ТЗ в которой ты привел всю номенклатуру. Теперь в ней есть одинаковые обработанные наименования и размеры.
6) дальше по этой ТЗ можешь делать отчеь.
Можешь как временню таблицу запроса обработать или просто как захочешью.

даже с СКД.
28 Eugeneer
 
07.08.11
01:41
(24) каждого кто будет флудить по моему поводу буду слать нах.
29 Eugeneer
 
07.08.11
01:42
(26) иди в песочнице играйся советчик.
30 Grusswelle
 
07.08.11
01:43
31 Eugeneer
 
07.08.11
01:44
с СКД тоже можно сделать без проблем.
Программно только будет. умеешьт программно с СКД работать?
получится программная обработка одного запроса  который в СКД будет подсовывать обработанную таблицу.
Задача решена.
32 Grusswelle
 
07.08.11
01:44
33 uvl
 
07.08.11
01:49
спасибо всем
34 Eugeneer
 
07.08.11
01:49
+(27) к этой ТЗ можно будет прилепливать любые абсолютно данные из любыз регистров и т.п.
В итоге у тебя получится что ты со своей номенклатурой сможешь делать отчеты в которых разная номенклатура будет сгруппирована как один товар с разными размерами.

Но имей ввиду что так вести справочник ненадежно. и все равно это решение не очень методически нормальное. нужно вести учет по характеристикам.
35 uvl
 
07.08.11
01:55
(34) да я то это понимаю.. люди просто не все умеют пользоваться характеристиками... что печально... ну чтож)) будем переучивать)))
36 kotletka
 
07.08.11
01:55
(29)да действительно ошибся, признаю плохо сабж прочитал, мысля не доперла что кто-то так извращенно может характеристику загонять в наименование
37 Eugeneer
 
07.08.11
01:57
(35) есть варианты обхода. могу пойти глубже и еще вариант рассказать прямо под тебя
38 Eugeneer
 
07.08.11
01:58
фиг с ним не хотите по характеристикам - гнудобно бюзерам! Но отчеты нужны четки по товарам. да фигня вопрос.
39 Eugeneer
 
07.08.11
02:01
делай реквизит в справочнике типа Аналог (кстати по аналогам проблемы в 1С не решены).
И во всехъ одинаковых товарах должен быть указан один единый ( сделай контроль). пусть юзеры указывают аналог.
Размер пусть заносят в свойство или сделай реквизит.


Получишь тогда то что им удобно - т.е. разбитывай справочник, но он будет весь связанный. Тогда любым запросом (и даже типовыми отчетами без переделок) можно получать данные и так и сяк.
40 kotletka
 
07.08.11
02:01
(39)+1, самое верное решение будет
41 Eugeneer
 
07.08.11
02:02
А для первоначального заполнения уже существующей номенклатуры можешь использовать (27) чтобы автоматом ща проставить аналоги у всего справочника. т.е. типа групповой обработки. она же еще будет и проверочной на всякий случай.
42 uvl
 
07.08.11
08:27
(39) хорошая мысль!
43 uvl
 
07.08.11
10:16
щас досмотрел что есть и другие размеры!!!! о ужас!!!
причем первая колонка - артикулы - и они разные!
12624    Amazonia Sandals - Black 33/34
12625    Amazonia Sandals - Black 35/36
12626    Amazonia Sandals - Black 37/38
12627    Amazonia Sandals - Black 39/40
12628    Amazonia Sandals - Black 41/42
12629    Amazonia Sandals - Black 43/44
15330    Amazonia Sandals - Black 45/46
15341    Dark Angel Sandals 35/36
15342    Dark Angel Sandals 37/38
15343    Dark Angel Sandals 39/40
12639    Dark Angel Sandals 41/42
12640    Dark Angel Sandals 43/44
12641    Dark Angel Sandals 45/46
.... еще есть...
15345    "Shogun Walk-in" Flexfit Hat - Black L/XL
15344    "Shogun Walk-in" Flexfit Hat - Black S/M
15347    "Shogun Walk-in" Flexfit Hat - White L/XL
15346    "Shogun Walk-in" Flexfit Hat - White S/M
12410    "Team Eyes" Flexfit Hat L/XL
12409    "Team Eyes" Flexfit Hat S/M
....
я зашел в тупик (((
я же не выделю ВСЕ мыслимые и немыслимые варианты из наименования...
44 Tatitutu
 
07.08.11
12:16
(0) завтра напомни покажу. Сейчас просто лень писать
на работе есть готовый вариант на 8

вот ссылка на 7.7
посмотри может заинтересует

Пример как развернуть таблицу печати в горизонтальном виде (при этом не зная заранее сколько будет столбцов)
http://infostart.ru/public/21571/
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший