Имя: Пароль:
1C
 
Остатки товаров по иерархии
0 squirrel
 
31.08.10
12:52
Всем добрый день!
Мне нужно вывести список товаров с остатками, но и еще мне нужны группы этих товаров. То есть например:
Продукты
Конфеты
Мишка косолапый 5 кг
Дюймовочка 3 кг
Печенье
Курабье 2,5 кг
Бытовая техника
Телевизоры
Samsung 6 шт

Я написала вот такой запрос:
Запрос.Текст = "ВЫБРАТЬ
| спрНоменклатура.ссылка как товар,
| ТоварыНаСкладах.КоличествоОстаток как остаток
|ИЗ
|справочник.номенклатура КАК спрНоменклатура
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладах
|по ТоварыНаСкладах.Номенклатура = спрНоменклатура.ссылка
|где ТоварыНаСкладах.КоличествоОстаток > 0
|";

у меня выходят все позиции, у которых есть остаток, но не вылазиют группы, если я убираю условие: |где ТоварыНаСкладах.КоличествоОстаток > 0, то тогда выходит все как надо, но еще в том числе и позиции у которых нет остатков, а они не нужны.. Чувствую что здесь все просто, подскажите пожалуйста, уже полдня потратила, не нашла ответа :(
1 Naumov
 
31.08.10
12:55
а тебе справочник на кой нужен? достаточно запроса по регистру, и правильно настроить Итоги в Запросе.
2 squirrel
 
31.08.10
12:57
я с начало без справочника делала.. подскажите, пожалуйста, как настроить итоги в запросе.. дело в том что это вообще первая моя обработка в 8 :) п
3 Ненавижу 1С
 
гуру
31.08.10
12:58
ну и обход по итогам правильный сделать:

ВЫБРАТЬ
   ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
   ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ИТОГИ
   СУММА(КоличествоОстаток)
ПО
   Номенклатура ИЕРАРХИЯ
4 Ненавижу 1С
 
гуру
31.08.10
12:59
(2) вообще то есть типовой отчет такой, "ведомость по товарам на складах" называется
5 squirrel
 
31.08.10
12:59
ух, спасибо!!!! счас попробую!!!!
6 Shurjk
 
31.08.10
13:00
Первая обработка и без фотки... не взлетит.
А по сабжу, лучше сразу на СКД делай отчеты.
7 squirrel
 
31.08.10
13:03
Получилось!!! Спасибо!!! ТОлько теперь у меня по два раза все выводится.. После запроса у меня все вот  так выглядит:

Запрос = Новый Запрос;
       Запрос.Текст = "
   |ВЫБРАТЬ
   |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
   |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
   |ИТОГИ
   |    СУММА(КоличествоОстаток)
   |ПО
   |    Номенклатура ИЕРАРХИЯ
   |";
   
   Выборка = Запрос.Выполнить();    
   Результат = Выборка.Выбрать();
   Пока результат.Следующий() Цикл
       товар =  результат.Номенклатура;
       если товар.этогруппа тогда
           Сообщить("группа "+товар);
       иначе            
           Сообщить(""+товар+" "+результат.Остаток+" ");        
       конецЕсли;        
   КонецЦикла;
8 squirrel
 
31.08.10
13:05
Что такое СКД?? Мне вообще нужна внешняя обработка выгрузки товаров с остатками по иерархии в текстовый файл.. Выгрузить я знаю как.. а вот отбор мне пока не доступен :(
9 squirrel
 
31.08.10
13:07
вот такой рез-т выдает моя вышенаписанныя программка:

группа Тара
Ящик - упаковка для телевизора 2
Ящик - упаковка для телевизора 2
Ящик (упаковка для вентиляторов) 28
Ящик (упаковка для вентиляторов) 28
группа Сигареты
Петр I легкие 5
Петр I легкие 5
Петр I 5
Петр I 5

а нужно чтобы вот так было:

группа Тара
Ящик - упаковка для телевизора 2
Ящик (упаковка для вентиляторов) 28
группа Сигареты
Петр I легкие 5
Петр I 5
10 Ненавижу 1С
 
гуру
31.08.10
13:08
Результат = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
11 squirrel
 
31.08.10
13:11
Ненавижу 1С, не-не, мне нужно чтобы не только папки выводились, а чтобы и товары тоже были, только они у меня повторяются.. смотрите выше :)
12 Naumov
 
31.08.10
13:14
(11) Обход результата запроса по ирерхии за вас ВВП делать будет?
13 Ненавижу 1С
 
гуру
31.08.10
13:15
(11) ошибка:
Результат = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
14 squirrel
 
31.08.10
13:19
Йохоу!!!! Ненавижу 1С, я Вас обожаю!!!! Спасибо Вам ОГРОМНЕЙШЕЕ!!!!!!!
15 squirrel
 
31.08.10
13:28
ой, а теперь мне еще нужно как то выбрать розничную цену у выбранных товаров.. Подскажите как, пожалуйста...
16 Ненавижу 1С
 
гуру
31.08.10
13:34
(15) нужно фото
17 AndreyFAN
 
31.08.10
13:36
+(16) с правильным раскрытием "известной темы" ;-)
18 Ненавижу 1С
 
гуру
31.08.10
13:37
примерно так:

Запрос.Текст = "ВЫБРАТЬ
                      |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
                      |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
                      |    ЦеныНоменклатурыСрезПоследних.Цена
                      |ИЗ
                      |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                      |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
                      |        ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
                      |ИТОГИ
                      |    СУММА(Остаток)
                      |ПО
                      |    Номенклатура ИЕРАРХИЯ";
19 Ksandr
 
31.08.10
13:41
Белка, покажи уж фотку
20 squirrel
 
31.08.10
13:43
Спасибо Вам Огромное!!! Сейчас буду тестить :)  

Не понимаю к чему фото?? я обычная, точно Вам говорю :)
21 Ненавижу 1С
 
гуру
31.08.10
13:47
(20) традиция такая
22 squirrel
 
31.08.10
13:56
ну так уж и традиция :) И куда слать? я думала в анкете можно разместить - не нашла.. и чего ч ценами не выходит :( ошибку прога не выдает, но и цену не выводит.. в справочнике посмотрела, цена стоит..
23 Ненавижу 1С
 
гуру
31.08.10
14:16
(22) цена не в справочнике, хотя может у вас в нем
фото именно в личной карточке (анкете) устанавливается
24 stangen
 
31.08.10
14:21
(22)если выводишь только итоговые записи, то хотя бы сделай так в запросе сделай

                      |ИТОГИ
                      |    СУММА(Остаток),
                      |   СРЕДНЕЕ(Цена)
25 squirrel
 
31.08.10
14:29
ппц!!! теперь ошибки появляются :( И вообще у меня теперь остаток в 4 раза больше стал :( а цена все равно не выводится :(

вот что у меня в итоге получилось, чего тут не верно??? :((( сил уже нет :(((


Запрос = Новый Запрос;
   
   Запрос.Текст = "
  |ВЫБРАТЬ
  |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
  |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
  |    ЦеныНоменклатурыСрезПоследних.Цена   КАК цена
  |ИЗ
  |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
  |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
  |        ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
  |ИТОГИ
  |    СУММА(Остаток)
  |ПО
  |    Номенклатура ИЕРАРХИЯ
  |";
     
   Запрос.УстановитьПараметр("наДату",наДату);
   Запрос.УстановитьПараметр("ВыбВидТовар",ВыбВидТовар);
   Запрос.УстановитьПараметр("ТипЦен",ТипЦен);
   
   итого=0;    
   Выборка = Запрос.Выполнить();
   
   Результат = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока результат.Следующий() Цикл
       товар =  результат.Номенклатура;
       
       если товар.этогруппа тогда
           гр   = "1";
           ед   = "";
           ост  = "";
           цена = "";
       иначе
           гр   = "0";
           ед   = товар.ЕдиницаХраненияОстатков;
           ост  = результат.Остаток;
           цена = результат.цена;    
           итого =  итого+ ост;                  
       конецЕсли;    
       
       Сообщить(гр+";"+сокрЛП(товар.код)+";"+сокрЛП(товар.родитель.код)+";"+сокрЛП(товар)+";"+сокрЛП(ед)+";"+цена+";"+ост);

   КонецЦикла;
26 squirrel
 
31.08.10
14:31
фото выкинула :)
27 Ksandr
 
31.08.10
14:38
запрос в консоли отлаживала?
28 squirrel
 
31.08.10
14:40
нет, я не умею еще :(
29 squirrel
 
31.08.10
14:46
никто не поможет??? фото не понравилось?? :'(
30 stangen
 
31.08.10
15:07
а если так? но это не решение...
ВЫБРАТЬ
   ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
   ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
   Цены.Цена КАК Цена
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
           МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена
       ИЗ
           РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
       
       СГРУППИРОВАТЬ ПО
           ЦеныНоменклатурыСрезПоследних.Номенклатура) КАК Цены
       ПО ТоварыНаСкладахОстатки.Номенклатура = Цены.Номенклатура
ИТОГИ
   СУММА(Остаток),
   СУММА(Цена)
ПО
   Номенклатура ИЕРАРХИЯ
31 squirrel
 
31.08.10
15:11
stangen!!!! Вам цены нет!!! Что-то получилось и кажется верно!!! Сейчас буду проверять!!! СПАСИБОООООООООООООО :-*
32 Renat11111
 
31.08.10
16:43
(0) все не читал. один вопрос... блондинка?
33 Ненавижу 1С
 
гуру
31.08.10
16:48
фото вполне
34 squirrel
 
31.08.10
17:04
не блондинка :) светло русая, летом волосы выгорают.. Спасибо :)
AdBlock убивает бесплатный контент. 1Сергей