|
Как определить переменные? | ☑ | ||
---|---|---|---|---|
0
Beginner girl
08.07.16
✎
16:06
|
Здравствуйте.
Подскажите, пожалуйста, как правильно нужно определить переменные Организация, Период (УчетнаяПолитика.СпособОценкиМПЗ(Организация, Период))? Процедура ОбработкаПроведения(Отказ, Режим) Движения.К_Остатки.Записывать = Истина; Запрос = Новый Запрос; Если УчетнаяПолитика.СпособОценкиМПЗ(Организация, Период) = Перечисления.СпособыОценки.ФИФО Тогда МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ | К_СписаниеТоваровСписанныеТовары.Товар, | СУММА(К_СписаниеТоваровСписанныеТовары.Количество) КАК Количество, | К_СписаниеТоваров.Склад, | К_СписаниеТоваров.Организации, | К_ПоступлениеТоваров.Склад КАК Склад1, | К_ПоступлениеТоваров.Организация |ПОМЕСТИТЬ СписаниеТоваров |ИЗ | Документ.К_СписаниеТоваров.СписанныеТовары КАК К_СписаниеТоваровСписанныеТовары, | Документ.К_СписаниеТоваров КАК К_СписаниеТоваров | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.К_ПоступлениеТоваров КАК К_ПоступлениеТоваров | ПО К_СписаниеТоваров.Склад = К_ПоступлениеТоваров.Склад | И К_СписаниеТоваров.Организации = К_ПоступлениеТоваров.Организация |ГДЕ | К_СписаниеТоваров.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | К_СписаниеТоваровСписанныеТовары.Товар, | К_СписаниеТоваров.Склад, | К_СписаниеТоваров.Организации, | К_ПоступлениеТоваров.Склад, | К_ПоступлениеТоваров.Организация |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | К_СписаниеТоваровСписанныеТовары.Товар КАК Товар, | К_СписаниеТоваровСписанныеТовары.Количество КАК Количество, | К_ОстаткиОстатки.Партия, | К_ОстаткиОстатки.К_КоличествоОстаток КАК КоличествоОстаток, | К_ОстаткиОстатки.К_СуммаОстаток КАК СуммаОстаток |ИЗ | Документ.К_СписаниеТоваров.СписанныеТовары КАК К_СписаниеТоваровСписанныеТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.К_Остатки.Остатки( | , | Товар В | (ВЫБРАТЬ | СписанныеТовары.Товар | ИЗ | СписанныеТовары КАК СписанныеТовары)) КАК К_ОстаткиОстатки | ПО К_СписаниеТоваровСписанныеТовары.Товар = К_ОстаткиОстатки.Товар | |УПОРЯДОЧИТЬ ПО | К_ОстаткиОстатки.Партия.Дата |ИТОГИ | МИНИМУМ(Количество), | СУММА(КоличествоОстаток) |ПО | Товар" ; Запрос.УстановитьПараметр("Ссылка", Ссылка); ИначеЕсли УчетнаяПолитика.СпособОценкиМПЗ() = Перечисления.СпособыОценки.ПоСреднему Тогда Запрос.Текст = "ВЫБРАТЬ | К_СписаниеТоваровСписанныеТовары.Товар, | К_СписаниеТоваровСписанныеТовары.Количество |ПОМЕСТИТЬ СписаниеТоваров |ИЗ | Документ.К_СписаниеТоваров.СписанныеТовары КАК К_СписаниеТоваровСписанныеТовары |ГДЕ | К_СписаниеТоваровСписанныеТовары.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | К_СписаниеТоваровСписанныеТовары.Товар, | К_СписаниеТоваровСписанныеТовары.Количество |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписаниеТоваров.Товар КАК Товар, | СУММА(СписаниеТоваров.Количество) КАК Количество, | СУММА(К_ОстаткиОстатки.К_КоличествоОстаток) КАК КоличествоОстаток, | СУММА(К_ОстаткиОстатки.К_СуммаОстаток) КАК СуммаОстаток |ИЗ | СписаниеТоваров КАК СписаниеТоваров | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.К_Остатки.Остатки( | , | Товар В | (ВЫБРАТЬ | СписаниеТоваров | ИЗ | СписаниеТоваров КАК СписаниеТоваров)) КАК К_ОстаткиОстатки | ПО (СписаниеТоваров.Товар = К_ОстаткиОстатки.Товар) | |СГРУППИРОВАТЬ ПО | СписаниеТоваров.Товар"; Запрос.УстановитьПараметр("Ссылка", Ссылка); КонецЕсли; РезультатЗапроса = Запрос.Выполнить(); ВыборкаТовар = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаТовар.Следующий() Цикл Если ВыборкаТовар.Количество > ВыборкаТовар.КоличествоОстаток Тогда Сообщить("Не хватает "+ВыборкаТовар.Товар+" в количестве "+ВыборкаТовар.Количество+ " шт."); Отказ = Истина; КонецЕсли; Если Отказ Тогда Возврат; КонецЕсли; Если УчетнаяПолитика.СпособОценкиМПЗ() = Перечисления.СпособыОценки.ПоСреднему Тогда Движение = Движения.ОстаткиК_Остатки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.К_Товар = ВыборкаТовар.Товар; Движение.К_Количество = ВыборкаТовар.Количество; Если ВыборкаТовар.КоличествоОстаток = 0 Тогда Себестоимость = 0; Иначе Себестоимость = ВыборкаТовар.СтоимостьОстаток / ВыборкаТовар.КоличествоОстаток; КонецЕсли; Движение.К_Сумма = Себестоимость * ВыборкаТовар.Количество; Иначе ОсталосьСписать = ВыборкаТовар.Количество; ВыборкаДетальныеЗаписи = ВыборкаТовар.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() И ОсталосьСписать <> 0 Цикл Списать = Мин(ОсталосьСписать,ВыборкаДетальныеЗаписи.КоличествоОстаток); Движение = Движения.ОстаткиК_Остатки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.К_Организация = Организации; Движение.К_Товар = ВыборкаДетальныеЗаписи.Товар; Движение.Партия = ВыборкаДетальныеЗаписи.Партия; Движение.К_Количество = Списать; Если ВыборкаДетальныеЗаписи.КоличествоОстаток = 0 Тогда Себестоимость = 0; Иначе Себестоимость = ВыборкаДетальныеЗаписи.СтоимостьОстаток / ВыборкаДетальныеЗаписи.КоличествоОстаток; КонецЕсли; Движение.К_Сумма = Себестоимость * ВыборкаДетальныеЗаписи.Количество; ОсталосьСписать = ОсталосьСписать - Списать; КонецЦикла; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
HardBall
08.07.16
✎
16:13
|
Перем Организация;
Перем Период; Нет? |
|||
2
youalex
08.07.16
✎
18:14
|
(0) Организация, судя по всему, это реквизит Организация документа, в контексте модуля - так и будет Организация (или ЭтотОбъект.Организация), в качестве Периода - будет Дата (ЭтотОбъект.Дата)
Это очень навскидку. |
|||
3
Garykom
гуру
08.07.16
✎
18:53
|
(0) Случайно не в ПГТУ учимся?
|
|||
4
oslokot
08.07.16
✎
18:56
|
(0) мало кода
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |