Имя: Пароль:
1C
1С v8
Склады
,
0 sovsemnovichek
 
31.07.13
14:31
Почему списание идет только по основному складу? Хотя я выбираю оптовый, но все равно списывается по основному...
1 ДенисЧ
 
31.07.13
14:32
"У меня в погребе который год происходит подземный стук. Объясните, из-за чего это происходит"...
2 Капитан О
 
31.07.13
14:33
господин ведущий, мы берём дополнительную минуту
3 Starhan
 
31.07.13
14:34
(1) будь человеком, выпусти заложника.
4 Starhan
 
31.07.13
14:35
(0) скриншоты, пошаговое описание будут или можно расходиться?
5 sovsemnovichek
 
31.07.13
14:37
Запрос.Текст = "ВЫБРАТЬ
                   |    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
                   |    СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
                   |    СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
                   |ПОМЕСТИТЬ Товар
                   |ИЗ
                   |    Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
                   |ГДЕ
                   |    РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ОстаткиНоменклатурыОстатки.Склад,
                   |    Товар.Номенклатура КАК Номенклатура,
                   |    Товар.Количество КАК Количество,
                   |    Товар.Сумма КАК Сумма,
                   |    ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
                   |    ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СебестоимостьОстаток, 0) КАК СебестоимостьОстаток
                   |ИЗ
                   |    Товар КАК Товар
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(, ) КАК ОстаткиНоменклатурыОстатки
                   |        ПО Товар.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура";
          Запрос.УстановитьПараметр("Ссылка",Ссылка);
          Запрос.УстановитьПараметр("Склад",Ссылка.Склад);
          
        Выборка = Запрос.Выполнить().Выбрать();
         Выборка.Следующий();
         Если Выборка.Количество > Выборка.КоличествоОстаток Тогда
                N = Выборка.Количество - Выборка.КоличествоОстаток;
                Сообщить("Не хватает"+" "+N+" "+"товара" );
                Отказ = Истина;
            КонецЕсли;
        РасчетСебестоимости = (Выборка.СебестоимостьОстаток + Выборка.Сумма) / Выборка.КоличествоОстаток * Выборка.Количество;    
            
        Движение = Движения.ОстаткиНоменклатуры.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Номенклатура = Выборка.Номенклатура;
        Движение.Склад = Выборка.Склад;
        Движение.Количество = Выборка.Количество;
        Движение.Себестоимость = РасчетСебестоимости;
6 ДенисЧ
 
31.07.13
14:38
Не вижу условия на складе в тексте запроса...
7 chelentano
 
31.07.13
14:39
(5) молодец, чо уж там
8 sovsemnovichek
 
31.07.13
14:39
в первой части запроса?
9 ДенисЧ
 
31.07.13
14:41
А надо во второй... Где остатки получаешь...
10 Starhan
 
31.07.13
14:43
(8) бросай наркотики.
11 sovsemnovichek
 
31.07.13
14:45
(10)с таки то ником... я думаю ты уже бросаешь
12 rbcvg
 
31.07.13
14:46
(11) вот это зачем?
Запрос.УстановитьПараметр("Склад",Ссылка.Склад);
13 sovsemnovichek
 
31.07.13
14:48
Это мусор! удалить забыл
14 chelentano
 
31.07.13
14:49
очевидно, что остатки по этому товару есть только на основном складе
P.S. запрос в топку
15 Starhan
 
31.07.13
14:49
(13) как мило...
16 Starhan
 
31.07.13
14:52
(13) перечитай еще раз пособие по которому кодишь.

"Запрос.УстановитьПараметр("Склад",Ссылка.Склад);"
это ключевой момент
17 Oleg_Kag
 
31.07.13
14:52
Движение.Склад = Выборка.Склад;
Заменить на
Движение.Склад = Ссылка.Склад;


Но грабли не в этом :)
18 Жан Пердежон
 
31.07.13
14:53
только мне ник тс картинку напомнил?
http://www.rapforce.net/_fr/14/7812217.jpg
19 sovsemnovichek
 
31.07.13
14:56
Написал условие во второй части запроса
ГДЕ
                   |    ОстаткиНоменклатурыОстатки.Склад = &Склад"

Стал списывать с нужного склада.

А как сделать так, чтоб если этого товара не хватает на нужном складе, списывать оставшееся количество с другого склада
20 ДенисЧ
 
31.07.13
15:01
(19) расстрел на 5 лет строго режима за такое условие...
21 sovsemnovichek
 
31.07.13
15:02
А что?
22 Starhan
 
31.07.13
15:02
(19) Задача поставлена не корректно но:
если без разницы с какого.
То добавь в запросе поле-признак нужного склада и группируй и сортируй по нему.
Если есть разница надо где то сначала прописать приоритет складов.
23 GROOVY
 
модератор
31.07.13
15:03
(19) Абзац полный. Позовите нормального прогера.
24 Starhan
 
31.07.13
15:03
(21) а если тебе без разницы с какого склада списывать зачем вести учет в разрезе складов? Оставь 1 склад и не мучайся.
25 sovsemnovichek
 
31.07.13
15:04
Я приоритет склада в в реквизит запихнул
26 sovsemnovichek
 
31.07.13
15:04
(24) задача такая
27 GROOVY
 
модератор
31.07.13
15:05
И про внутреннее соединение... шедеврально.
(25) Какой приоритет?
28 GROOVY
 
модератор
31.07.13
15:06
29 GROOVY
 
модератор
31.07.13
15:06
http://www.forum.mista.ru/index.php?user_id=91863

Это чтобы всем контекст задачи был понятен...
30 sovsemnovichek
 
31.07.13
15:14
(29) Ну красавчик просто! Прямо гигант!
31 GROOVY
 
модератор
31.07.13
15:35
(30) Темы научись называть нормально и вопрос формулировать, тогда не понадобится контекст в истории искать. Красафчег.