![]() |
![]() |
![]() |
|
регистр 🠗 (Волшебник 28.01.2019 13:06) |
☑ | ||
---|---|---|---|---|
0
bebibo
28.01.19
✎
12:19
|
Так Я и не пойму, почему сумма не пишется в регистр..Может вы поймете?
Весь код расходной накладной: Движения.Продажи.Записывать = Истина; Движения.ОстаткиНоменклатуры.Записывать = Истина; Движения.ОстаткиНоменклатуры.Записать(); Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры"); ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры; ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Партия", "Партия"); Блокировка.Заблокировать(); Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура, | РасходнаяНакладнаяСписокНоменклатуры.Партия КАК Партия, | СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество, | СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма |ПОМЕСТИТЬ ДокТЧ |ИЗ | Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры |ГДЕ | РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | РасходнаяНакладнаяСписокНоменклатуры.Партия, | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура | |ИНДЕКСИРОВАТЬ ПО | Номенклатура, | Партия |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДокТЧ.Номенклатура КАК Номенклатура, | ДокТЧ.Партия, | ДокТЧ.Количество КАК Количество, | ДокТЧ.Сумма КАК Сумма, | ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаОстаток, 0) КАК СуммаОстаток, | ДокТЧ.Номенклатура.Представление, | ДокТЧ.Партия.Представление, | ДокТЧ.Номенклатура.Услуга |ИЗ | ДокТЧ КАК ДокТЧ | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки( | &МоментВремени, | (Номенклатура, Партия) В | (ВЫБРАТЬ | ДокТЧ.Номенклатура, | ДокТЧ.Партия | ИЗ | ДокТЧ КАК ДокТЧ)) КАК ОстаткиНоменклатурыОстатки | ПО ДокТЧ.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура | И ДокТЧ.Партия = ОстаткиНоменклатурыОстатки.Партия |ИТОГИ | СУММА(Количество), | СУММА(Сумма) |ПО | Номенклатура"; Запрос.УстановитьПараметр("МоментВремени", МоментВремени()); Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНоменклатура.Следующий() Цикл ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать(); ОбщаяСтоимость = 0; Если НЕ ВыборкаНоменклатура.Номенклатура.услуга Тогда Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Количество > ВыборкаДетальныеЗаписи.КоличествоОстаток Тогда Отказ = Истина; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Недостаточно товара " + ВыборкаДетальныеЗаписи.НоменклатураПредставление + " из партии " + ВыборкаДетальныеЗаписи.ПартияПредставление + " есть только " + ВыборкаДетальныеЗаписи.КоличествоОстаток; Сообщение.Сообщить(); КонецЕсли; Если Отказ Тогда Продолжить; КонецЕсли; // регистр ОстаткиНоменклатуры Расход Движение = Движения.ОстаткиНоменклатуры.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Партия = ВыборкаДетальныеЗаписи.Партия; Движение.Количество = ВыборкаДетальныеЗаписи.Количество; Движение.Сумма = Движение.Количество / ВыборкаДетальныеЗаписи.КоличествоОстаток * ВыборкаДетальныеЗаписи.СуммаОстаток; ОбщаяСтоимость = ОбщаяСтоимость + Движение.Сумма; КонецЦикла; КонецЕсли; Если Отказ Тогда Продолжить; КонецЕсли; // регистр Продажи Движение = Движения.Продажи.Добавить(); Движение.Период = Дата; Движение.Номенклатура = ВыборкаНоменклатура.Номенклатура; Движение.Количество = ВыборкаНоменклатура.Количество; Движение.Себестоимость = ОбщаяСтоимость; Движение.Сумма = ВыборкаНоменклатура.Сумма; КонецЦикла; |
|||
1
Ёпрст
гуру
28.01.19
✎
12:30
|
Движение.Сумма = Движение.Количество / ВыборкаДетальныеЗаписи.КоличествоОстаток * ВыборкаДетальныеЗаписи.СуммаОстаток
норм че.. |
|||
2
bebibo
28.01.19
✎
12:36
|
(1) Я знаю что нужно писать так:
СуммаСписания = ?(КоличествоСписания = КоличествоОстаток, СуммаОстаток, СуммаОстаток/КоличествоОстаток * КоличествоСписания) |
|||
3
DrWatson
28.01.19
✎
13:06
|
(0) МоментВремени пустой.
|
|||
4
Волшебник
28.01.19
✎
13:06
|
Тема не отражает суть сообщения.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |