|
Регистр накопления остатки | ☑ | ||
---|---|---|---|---|
0
Wirtox
04.12.12
✎
11:23
|
Есть документ РасходнаяНакладная и Регистр накопления. Нужно при проведении документа проверять есть ли такое количество товара на складе. Понимаю что это нужно делать запросом но как, не могу понять. Помогите пожалуйста, очень нужно.
Вот код конструктора движения если надо Код //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! // регистр ОстаткиТоваров Расход Движения.ОстаткиТоваров.Записывать = Истина; Для Каждого ТекСтрокаТаблРасходнаяНакладная Из ТаблРасходнаяНакладная Цикл Движение = Движения.ОстаткиТоваров.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаТаблРасходнаяНакладная.Номенклатура; Движение.СерияНоменклатуры = ТекСтрокаТаблРасходнаяНакладная.Серия; Движение.Организация = Организация; Движение.Склад = Склад; Движение.Количество = ТекСтрокаТаблРасходнаяНакладная.Количество; КонецЦикла; |
|||
1
Wobland
04.12.12
✎
11:24
|
Запрос=Новый Запрос;
|
|||
2
zbv
04.12.12
✎
11:24
|
ЗАпрос.Текст = "Выбрать
|
|||
3
cw014
04.12.12
✎
11:24
|
(0) Разучись пользоваться кодом конструктора, пожалуйста...
|
|||
4
cw014
04.12.12
✎
11:25
|
(0) И посмотри как в типовых сделано
|
|||
5
cw014
04.12.12
✎
11:25
|
(1), (2) Вы здорово ему помогли
|
|||
6
famnam
04.12.12
✎
11:25
|
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток ... |
|||
7
Wobland
04.12.12
✎
11:25
|
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
//контроль остатков Отбор=Новый Структура("Разрез", Перечисления.РазрезыУчётнойПолитики.КонтрольОстатков); Если РегистрыСведений.УчётнаяПолитика.СрезПоследних(Дата, Отбор)[0].Значение Тогда Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ПартииТоваровОстатки.Номенклатура, | СУММА(РасходнаяНакладнаяТовары.Количество) КАК КоличествоВДокументе, | СУММА(ЕСТЬNULL(ПартииТоваровОстатки.КоличествоОстаток, 0)) КАК КоличествоОстаток |ИЗ | Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваров.Остатки(&Период, Номенклатура В (&Номенклатура)) КАК ПартииТоваровОстатки | ПО РасходнаяНакладнаяТовары.Номенклатура = ПартииТоваровОстатки.Номенклатура | |СГРУППИРОВАТЬ ПО | ПартииТоваровОстатки.Номенклатура | |ИМЕЮЩИЕ | СУММА(РасходнаяНакладнаяТовары.Количество) >= СУММА(ЕСТЬNULL(ПартииТоваровОстатки.КоличествоОстаток, 0))"; Запрос.УстановитьПараметр("Период", Дата); Запрос.УстановитьПараметр("Номенклатура", Товары.ВыгрузитьКолонку("Номенклатура")); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Отказ=Истина; Сообщить("Недостаточно товара "+Выборка.Номенклатура+"; имеется: "+Выборка.КоличествоОстаток+"; требуется: "+Выборка.КоличествоВДокументе); КонецЦикла; Если Выборка.Количество() Тогда Возврат; КонецЕсли; КонецЕсли; |
|||
8
Голубушка
04.12.12
✎
11:29
|
Это УТ?
|
|||
9
Wirtox
04.12.12
✎
11:34
|
вот делал запрос, но как проверить сдесь остаток не могу понять подскажите пожалуйста
Запрос = Новый Запрос("ВЫБРАТЬ | ОстаткиТоваровОстатки.КоличествоОстаток, |ОстаткиТоваровОстатки.Номенклатура.Наименование |ИЗ |РегистрНакопления.ОстаткиТоваров.Остатки(&Время, Номенклатура = &ТекНом) КАК ОстаткиТоваровОстатки"); |
|||
10
piter99
04.12.12
✎
12:19
|
ВЫБРАТЬ ДОК.Номенклатура КАК Номенклатура,
|ИЗ Документ.РеализацияТовара.Товары КАК ДОК ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&МоментВремени, Материал В (&Список)) КАК рнОстатки ПО ДОК.Номенклатура = рнОстатки.Материал, ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&МоментВремени, Материал В (&Список) И Склад = &Склад) КАК РНСклад ПО ДОК.Номенклатура = рнСклад.Материал я пока учусь, но давали как выше. 2 раза РегНакоп, первый чтобы эти остатки потом изменить, а второй, чтобы в рамках нужного склада проверить, а достаточно ли их на НУЖном складе |
|||
11
piter99
04.12.12
✎
12:22
|
Да упустил
выбрать .... рнОстатки.Остатки ((в не зависим от склада)), рнСклад.Остатки как складОстатки ((в рамках конкр склада)) |
|||
12
Wirtox
04.12.12
✎
20:02
|
Всем спасибо.....Разобрался
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |