|
v8: Не формируются движения по регистрам | ☑ | ||
---|---|---|---|---|
0
Jupiter
05.08.14
✎
21:41
|
День добрый господа.
1С 8.3 Помогите новичку. Ошибок не выдает документ проводит но движения по регистрам не формируются. Процедура ОбработкаПроведения(Отказ, Режим) //Движения.ТоварыНаСкладах.Записывать = Истина; //Движения.Продажи.Записывать = Истина; //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровТовары.Номенклатура, | СУММА(РеализацияТоваровТовары.Количество) КАК КоличествоВДокументе, | СУММА(РеализацияТоваровТовары.Сумма) КАК СуммаВДокументе |ПОМЕСТИТЬ НоменклатураДокумента |ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары |ГДЕ | РеализацияТоваровТовары.Номенклатура.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | РеализацияТоваровТовары.Номенклатура"; Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); Запрос2 = Новый Запрос; Запрос2.МенеджерВременныхТаблиц = МенеджерВТ; Запрос2.Текст = "ВЫБРАТЬ | НоменклатураДокумента.Номенклатура, | НоменклатураДокумента.КоличествоВДокументе, | НоменклатураДокумента.СуммаВДокументе, | ЕСТЬNULL(СебестоимостьТоваровОстатки.СтоимостьОстаток, 0) КАК Стоимость, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Количество |ИЗ | НоменклатураДокумента КАК НоменклатураДокумента | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров.Остатки( | , | Номенклатура В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура | ИЗ | НоменклатураДокумента)) КАК СебестоимостьТоваровОстатки | ПО НоменклатураДокумента.Номенклатура = СебестоимостьТоваровОстатки.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки( | , | Номенклатура В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура | ИЗ | НоменклатураДокумента)) КАК ТоварыНаСкладахОстатки | ПО НоменклатураДокумента.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура"; Движения.ТоварыНаСкладах.Записать(); Движения.СебестоимостьТоваров.Записать(); РезультатЗапроса = Запрос2.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Движения.ТоварыНаСкладах.Записывать = Истина; Движения.Продажи.Записывать = Истина; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда Себестоимость = 0 Иначе Себестоимость = ВыборкаДетальныеЗаписи.Стоимость / ВыборкаДетальныеЗаписи.Количество; КонецЕсли; // Регистр ОстаткиТоваров Расход Движение = Движения.ТоварыНаСкладах.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Склад = Склад; Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе; Движение = Движения.Продажи.Добавить(); Движение.Период = Дата; Движение.Организация = Организация; Движение.Покупатель = Покупатель; Движение.Количество = ВыборкаДетальныеЗаписи.Количество; Движение.ЦенаПродажная = ВыборкаДетальныеЗаписи.Цена; Движение.Себестоимость = ВыборкаДетальныеЗаписи.Количество * Себестоимость; Движение = Движения.СебестоимостьТоваров.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Количество = ВыборкаДетальныеЗаписи.Количество; Движение.Стоимость = ВыборкаДетальныеЗаписи.Количество * Себестоимость; КонецЦикла; КонецПроцедуры |
|||
1
Jupiter
05.08.14
✎
21:53
|
Отладчиком смотрел. В цикл не проваливается. Почему понять не могу.
|
|||
2
Крошка Ру
05.08.14
✎
21:56
|
(0) Выборка не пустая?
И, кстати, зачем в ВТ регистров условия по номенклатуре? Ведь соединения по этой же номенклатуре с этой же временной таблицой идут. |
|||
3
Крошка Ру
05.08.14
✎
21:56
|
?
|
|||
4
Крошка Ру
05.08.14
✎
22:01
|
И ещё кстати: а зачем временную таблицу в отдельном запросе?
|
|||
5
Jupiter
05.08.14
✎
22:02
|
Выборка не пустая.
Пробовал использовать временные таблицы. |
|||
6
Крошка Ру
05.08.14
✎
22:05
|
(5) Что значит "пробовал"? Ты и сейчас её используешь. Зачем разбивать запрос на два - не очень понятно. Но дело твое.
|
|||
7
Крошка Ру
05.08.14
✎
22:06
|
(5) Если выборка не пустая, значит заходит в цикл.
|
|||
8
Jupiter
05.08.14
✎
22:07
|
И должны быть движения?
|
|||
9
Крошка Ру
05.08.14
✎
22:08
|
Вот здесь ошибка:
РеализацияТоваровТовары.Номенклатура.Ссылка = &Ссылка |
|||
10
hhhh
05.08.14
✎
22:08
|
(8) вот это
|ГДЕ | РеализацияТоваровТовары.Номенклатура.Ссылка = &Ссылка сравниваешь номенклатуру с документом реализацией. Они никогда не сравнятся. Даже если в бубен стучать на уровне 10 см от пола. |
|||
11
Крошка Ру
05.08.14
✎
22:08
|
Передаешь ссылку на документ, а сравниваешь с ссылкой номенклатуры
|
|||
12
Крошка Ру
05.08.14
✎
22:10
|
И в "продажи" зачем количество остатков запихивать?
|
|||
13
Jupiter
05.08.14
✎
22:12
|
Уже запарился, там количество проданного товара должно быть.
|
|||
14
Jupiter
05.08.14
✎
22:15
|
Спасибо. Помогло. Нужно передохнуть наверно и свежими глазами на ког глянуть.
|
|||
15
ДенисЧ
05.08.14
✎
22:16
|
(14) Да. На когг нужно глянуть. И топор заточить. И главное - бороду расчесать и элю выпить! А потом уже можно и на Британию идти...
|
|||
16
Крошка Ру
05.08.14
✎
22:22
|
(15) Во славу Одина, предводителя асов!
Или короче - 1Сов! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |