Нужно считать сумму,но когда пишу вот так,то номенклатура у которой вариант исполнения который не запонен не считается сумма
УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("ТипЦен",Справочники.ТипыЦен.НайтиПоНаименованию("Продажа"));
мТекстЗапроса = "ВЫБРАТЬ
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен,
| ЦеныНоменклатурыСрезПоследних.ВариантИсполнения КАК ВариантИсполнения1
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| Левое СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен И ВариантИсполнения=&ВариантИсполнения) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
ПоказатьПо теме из базы знаний
- Универсальный отчет (4.2.0.1)
- Учебный пример программного формирования схемы компоновки данных: Универсальный отчет по регистрам накопления
- Универсальный отчет как инструмент создания новых отчетов на основании данных системы 1С
- Методы работы с универсальным отчетом в подсистеме "Варианты отчетов" на БСП
- Набор данных ОБЪЕКТ для Универсального отчета
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)Помогите пожалуйста,уже не знаю в чем дело
мТекстЗапроса = "ВЫБРАТЬ
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен,
| ЦеныНоменклатурыСрезПоследних.ВариантИсполнения КАК ВариантИсполнения1
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| Левое СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен И ВариантИсполнения=&ВариантИсполнения) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
|
|ИНДЕКСИРОВАТЬ ПО
| Фирма,
| Номенклатура,
| ВариантИсполнения
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблОстаткиИОбороты.Филиал,
| ТаблОстаткиИОбороты.Фирма,
| ТаблОстаткиИОбороты.Склад,
| ТаблОстаткиИОбороты.Номенклатура,
| ТаблОстаткиИОбороты.ВариантИсполнения,
| ТаблОстаткиИОбороты.КПриемкеОТК,
| СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоРасход,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
| ТаблОстаткиИОбороты.Вес,
| ТаблОстаткиИОбороты.Объем,
| ТаблОстаткиИОбороты.Коэффициент,
| ТаблОстаткиИОбороты.Период,
| ТаблОстаткиИОбороты.Регистратор,
| СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолПриход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаРасход,
| ВТ_СтоимостьТМЦ.Цена,
| ВТ_СтоимостьТМЦ.ТипЦен
|{ВЫБРАТЬ
| Филиал.*,
| Фирма.*,
| Склад.*,
| Номенклатура.*,
| ВариантИсполнения.*,
| КПриемкеОТК,
| ВесНачальныйОстаток,
| ВесКонечныйОстаток,
| ВесПриход,
| ВесРасход,
| ОбъемНачальныйОстаток,
| ОбъемКонечныйОстаток,
| ОбъемПриход,
| ОбъемРасход,
| Вес,
| Объем,
| Коэффициент,
| Период,
| Регистратор.*,
| КоличествоНачальныйОстаток,
| КоличествоКонечныйОстаток,
| КоличествоПриход,
| КоличествоРасход,
| СуммаНачальныйОстаток,
| СуммаКонечныйОстаток,
| СуммаПриход,
| СуммаРасход,
| ТаблОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм,
| ТаблОстаткиИОбороты.ПериодДень,
| ТаблОстаткиИОбороты.ПериодНеделя,
| ТаблОстаткиИОбороты.ПериодДекада,
| ТаблОстаткиИОбороты.ПериодМесяц,
| ТаблОстаткиИОбороты.ПериодКвартал,
| ТаблОстаткиИОбороты.ПериодПолугодие,
| ТаблОстаткиИОбороты.ПериодГод,
| ВТ_СтоимостьТМЦ.Цена,
| ВТ_СтоимостьТМЦ.ТипЦен}
|ИЗ
| (ВЫБРАТЬ
| ОстаткиТМЦОстаткиИОбороты.Филиал КАК Филиал,
| ОстаткиТМЦОстаткиИОбороты.Фирма КАК Фирма,
| ОстаткиТМЦОстаткиИОбороты.Склад КАК Склад,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК КАК КПриемкеОТК,
| ОстаткиТМЦОстаткиИОбороты.КолНачальныйОстаток КАК КолНачальныйОстаток,
| ОстаткиТМЦОстаткиИОбороты.КолКонечныйОстаток КАК КолКонечныйОстаток,
| ОстаткиТМЦОстаткиИОбороты.КолПриход КАК КолПриход,
| ОстаткиТМЦОстаткиИОбороты.КолРасход КАК КолРасход,
| ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
| КОНЕЦ КАК Вес,
| ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
| КОНЕЦ КАК Объем,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
| ОстаткиТМЦОстаткиИОбороты.Период КАК Период,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕНЬ) КАК ПериодДень,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕКАДА) КАК ПериодДекада,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, КВАРТАЛ) КАК ПериодКвартал,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ГОД) КАК ПериодГод,
| ОстаткиТМЦОстаткиИОбороты.Регистратор КАК Регистратор
| ИЗ
| РегистрНакопления.ОстаткиТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Филиал).*, (Фирма).*, (Склад).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК ОстаткиТМЦОстаткиИОбороты
| {ГДЕ
| ОстаткиТМЦОстаткиИОбороты.Филиал.*,
| ОстаткиТМЦОстаткиИОбороты.Фирма.*,
| ОстаткиТМЦОстаткиИОбороты.Склад.*,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.*,
| ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.*,
| ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК,
| (ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
| КОНЕЦ) КАК Вес,
| (ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
| КОНЕЦ) КАК Объем,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
| ОстаткиТМЦОстаткиИОбороты.Регистратор.*,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм}) КАК ТаблОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьТМЦ КАК ВТ_СтоимостьТМЦ
| ПО ТаблОстаткиИОбороты.ВариантИсполнения = ВТ_СтоимостьТМЦ.ВариантИсполнения
| И ТаблОстаткиИОбороты.Номенклатура = ВТ_СтоимостьТМЦ.Номенклатура
| И ТаблОстаткиИОбороты.Фирма = ВТ_СтоимостьТМЦ.Фирма
|{ГДЕ
| (СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоНачальныйОстаток,
| (СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоКонечныйОстаток,
| (СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоПриход,
| (СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоРасход,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
| (ТаблОстаткиИОбороты.КолРасход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаРасход,
| (ТаблОстаткиИОбороты.КолПриход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаПриход,
| (ТаблОстаткиИОбороты.КолКонечныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаКонечныйОстаток,
| (ТаблОстаткиИОбороты.КолНачальныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаНачальныйОстаток}
|
|СГРУППИРОВАТЬ ПО
| ТаблОстаткиИОбороты.Филиал,
| ТаблОстаткиИОбороты.Фирма,
| ТаблОстаткиИОбороты.Склад,
| ТаблОстаткиИОбороты.Период,
| ТаблОстаткиИОбороты.Регистратор,
| ТаблОстаткиИОбороты.Номенклатура,
| ТаблОстаткиИОбороты.ВариантИсполнения,
| ТаблОстаткиИОбороты.КПриемкеОТК,
| ТаблОстаткиИОбороты.Вес,
| ТаблОстаткиИОбороты.Объем,
| ТаблОстаткиИОбороты.Коэффициент,
| ВТ_СтоимостьТМЦ.Цена,
| ВТ_СтоимостьТМЦ.ТипЦен
|{УПОРЯДОЧИТЬ ПО
| Филиал.*,
| Фирма.*,
| Склад.*,
| Номенклатура.*,
| ВариантИсполнения.*,
| КПриемкеОТК,
| Вес,
| Объем,
| Период,
| Регистратор.*,
| ТаблОстаткиИОбороты.ПериодДень,
| ТаблОстаткиИОбороты.ПериодНеделя,
| ТаблОстаткиИОбороты.ПериодДекада,
| ТаблОстаткиИОбороты.ПериодМесяц,
| ТаблОстаткиИОбороты.ПериодКвартал,
| ТаблОстаткиИОбороты.ПериодПолугодие,
| ТаблОстаткиИОбороты.ПериодГод,
| ВТ_СтоимостьТМЦ.Цена,
| ВТ_СтоимостьТМЦ.ТипЦен}
|ИТОГИ
| СУММА(КоличествоНачальныйОстаток),
| СУММА(КоличествоКонечныйОстаток),
| СУММА(КоличествоПриход),
| СУММА(КоличествоРасход),
| СУММА(ВесНачальныйОстаток),
| СУММА(ВесКонечныйОстаток),
| СУММА(ВесПриход),
| СУММА(ВесРасход),
| СУММА(ОбъемНачальныйОстаток),
| СУММА(ОбъемКонечныйОстаток),
| СУММА(ОбъемПриход),
| СУММА(ОбъемРасход),
| СУММА(СуммаНачальныйОстаток),
| СУММА(СуммаКонечныйОстаток),
| СУММА(СуммаПриход),
| СУММА(СуммаРасход)
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| Филиал.*,
| Фирма.*,
| Склад.*,
| Номенклатура.*,
| ВариантИсполнения.*,
| КПриемкеОТК,
| Период,
| Регистратор.*,
| ТаблОстаткиИОбороты.ПериодДень,
| ТаблОстаткиИОбороты.ПериодНеделя,
| ТаблОстаткиИОбороты.ПериодДекада,
| ТаблОстаткиИОбороты.ПериодМесяц,
| ТаблОстаткиИОбороты.ПериодКвартал,
| ТаблОстаткиИОбороты.ПериодПолугодие,
| ТаблОстаткиИОбороты.ПериодГод,
| ВТ_СтоимостьТМЦ.Цена,
| ВТ_СтоимостьТМЦ.ТипЦен}"
;
Показать
Проблема тут -"ЦеныНоменклатурыСрезПоследних.ТипЦен" оно может быть NULL и тогда бардак.
Вы его зачем выводите, если изначально задаете?
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен,
Вы его зачем выводите, если изначально задаете?
ВЫБРАТЬ
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен,
| ЦеныНоменклатурыСрезПоследних.ВариантИсполнения КАК ВариантИсполнения1
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| Левое СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен И ВариантИсполнения=&ВариантИсполнения) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
Либо примените ЕстьNULL как у предыдущейстрочки , либо удалите вообще...
Вариант исполнения кстати тоже самое
Вариант исполнения кстати тоже самое
Поскольку ЦеныНоменклатурыСрезПоследних у вас находится справа в ЛЕВОМ соединении то всегда возможно отсутствие данных и дальнейшие неопределенности
(7)
|
Вот так считает сумму,но не у всех. Только у тех у кого заполнен вариант исполнения.
мТекстЗапроса = "ВЫБРАТЬ
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен,0) КАК ТипЦен,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ВариантИсполнения,0) КАК ВариантИсполнения1
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| Левое СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
Показать|
Вот так считает сумму,но не у всех. Только у тех у кого заполнен вариант исполнения.
Прикрепленные файлы:
(10)Вот так
мТекстЗапроса = "ВЫБРАТЬ
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен,0) КАК ТипЦен
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| Левое СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
Показать
Еще одну некорректность вижу...
Левое СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен И ВариантИсполнения=&ВариантИсполнения) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
Удалите одно условие - оно задвоилось - масло масляное
Левое СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен И ВариантИсполнения=&ВариантИсполнения) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
Удалите одно условие - оно задвоилось - масло масляное
Очень рекомендую использовать Консоль запросов - вы сможете видеть промежуточные данные временных таблиц. Легче будет анализировать ошибки.
Для неуправляемых форм - Инструменты разработчикаhttps://infostart.ru/public/15126/
Это обязательный инструмент для программиста...
Для неуправляемых форм - Инструменты разработчика
Это обязательный инструмент для программиста...
Вы сумму не посчитаете этим запросом у тех , где не заполнен ВариантИсполнения, потому что у вас везде стоят связки типа
ГДЕ ааааааа.Номенклатура=бббббб.Номеклатура
И ааааааа.ВариантИсполнения = бббббб.ВариантИсполнения
Ну сами подумайте - есть куча номеклатуры , где нету ВариантИсполнения- тогда записи БЕЗ Варианта отбрасываются, потому что NULL не сравнивается через знак равенства
ГДЕ ааааааа.Номенклатура=бббббб.Номеклатура
И ааааааа.ВариантИсполнения = бббббб.ВариантИсполнения
Ну сами подумайте - есть куча номеклатуры , где нету ВариантИсполнения- тогда записи БЕЗ Варианта отбрасываются, потому что NULL не сравнивается через знак равенства
Отработайте по шагам - сначала в консоли создайте правильный запрос для ВТ_СтоимостьТМЦ
Когда в нем будут правильные данные - двигайтесь дальше.
Когда в нем будут правильные данные - двигайтесь дальше.
Я так понимаю что основная проблема в том что у вас не на весь товар установлены Цены -точнее не на все варианты.
При этом может считать суммы остатков стоимости без цен?
Зачем цены в анализе стоимостной , если они все равно не установлены полностью
При этом может считать суммы остатков стоимости без цен?
Зачем цены в анализе стоимостной , если они все равно не установлены полностью
(22) Тогда создайте вариант "БЕЗ ВАРИАНТА" и заполните все записи без варианта - этим значением.
Поверьте - у вас все сосчитается
Сейчас у вас в этих данных NULL - Это вакуум - он ни с чем не сравнивается , а вы его пытаетесь сравнивать
Поверьте - у вас все сосчитается
Сейчас у вас в этих данных NULL - Это вакуум - он ни с чем не сравнивается , а вы его пытаетесь сравнивать
Вот для этого сумма считается. А если вариант исполнения пустой,то не считается
Прикрепленные файлы:
Пока вы не начнете нормально работать - дело не сдвинется...
Вы запустили консоль с первой частью запроса?
Вы запустили консоль с первой частью запроса?
Внутренним соединением вы отбросили часть данных !
Те остатки и обороты ТМЦ , на которые не установлены цены...
Вы уверены , что вам именно это нужно?
Те остатки и обороты ТМЦ , на которые не установлены цены...
Вы уверены , что вам именно это нужно?
Вот об этих пустых ценах я вам и говорил...
Но ведь вам же нужны ВСЕ остаткиИобороты?
Это значит Левое соединение
Но ведь вам же нужны ВСЕ остаткиИобороты?
Это значит Левое соединение
Используйте Левое Соединение,
добавьте во второй части запроса
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0) Как Цена,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.ТипЦен,"Нет цены") Как ТипЦен
И в группировку тоже
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0),
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.ТипЦен,"Нет цены")
добавьте во второй части запроса
ВЫБРАТЬ
| ТаблОстаткиИОбороты.Филиал,
| ТаблОстаткиИОбороты.Фирма,
| ТаблОстаткиИОбороты.Склад,
| ТаблОстаткиИОбороты.Номенклатура,
| ТаблОстаткиИОбороты.ВариантИсполнения,
| ТаблОстаткиИОбороты.КПриемкеОТК,
| СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоРасход,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
| ТаблОстаткиИОбороты.Вес,
| ТаблОстаткиИОбороты.Объем,
| ТаблОстаткиИОбороты.Коэффициент,
| ТаблОстаткиИОбороты.Период,
| ТаблОстаткиИОбороты.Регистратор,
| СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолПриход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаРасход,
Показать| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0) Как Цена,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.ТипЦен,"Нет цены") Как ТипЦен
И в группировку тоже
|СГРУППИРОВАТЬ ПО
| ТаблОстаткиИОбороты.Филиал,
| ТаблОстаткиИОбороты.Фирма,
| ТаблОстаткиИОбороты.Склад,
| ТаблОстаткиИОбороты.Период,
| ТаблОстаткиИОбороты.Регистратор,
| ТаблОстаткиИОбороты.Номенклатура,
| ТаблОстаткиИОбороты.ВариантИсполнения,
| ТаблОстаткиИОбороты.КПриемкеОТК,
| ТаблОстаткиИОбороты.Вес,
| ТаблОстаткиИОбороты.Объем,
| ТаблОстаткиИОбороты.Коэффициент,
Показать| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0),
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.ТипЦен,"Нет цены")
Проглядел...
СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток *ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаКонечныйОстаток,
СУММА(ТаблОстаткиИОбороты.КолПриход * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаРасход,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0) Как Цена,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.ТипЦен,"Нет цены") Как ТипЦен
Короче везде где используете цену - проверяйте ее на NULL
СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток *ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаКонечныйОстаток,
СУММА(ТаблОстаткиИОбороты.КолПриход * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаРасход,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0) Как Цена,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.ТипЦен,"Нет цены") Как ТипЦен
Короче везде где используете цену - проверяйте ее на NULL
А вы выведите ТипЦен в своей консольке с первой частью запроса и увидите что не хорошо у вас типами...
При левом то соединении
Смысл в том что при отсутствии установленной цены на какой-то вариант Номенклатуры - нет записи в регистре вообще и все что вы берете из этого регистрв в этой ситуации равно NULL
При левом то соединении
Смысл в том что при отсутствии установленной цены на какой-то вариант Номенклатуры - нет записи в регистре вообще и все что вы берете из этого регистрв в этой ситуации равно NULL
(44)
Вот так количество пишет правильно,но сумму не для всех считает
ВЫБРАТЬ
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
ПоказатьВот так количество пишет правильно,но сумму не для всех считает
Вы добавили ЕСТЬNULL везде где я написал?
И присылайте пожалуйста весь код а не кусочек - ведь понять из
про какую сумму идет речь невозможно
И присылайте пожалуйста весь код а не кусочек - ведь понять из
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
Показатьпро какую сумму идет речь невозможно
(47)
Сумма началный остаток и тд
ВЫБРАТЬ
| СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
| СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
|ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
|ИЗ
| РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
|ИНДЕКСИРОВАТЬ ПО
| Фирма,
| Номенклатура,
| ВариантИсполнения
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблОстаткиИОбороты.Филиал,
| ТаблОстаткиИОбороты.Фирма,
| ТаблОстаткиИОбороты.Склад,
| ТаблОстаткиИОбороты.Номенклатура,
| ТаблОстаткиИОбороты.ВариантИсполнения,
| ТаблОстаткиИОбороты.КПриемкеОТК,
| СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоРасход,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
| СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
| СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
| ТаблОстаткиИОбороты.Вес,
| ТаблОстаткиИОбороты.Объем,
| ТаблОстаткиИОбороты.Коэффициент,
| ТаблОстаткиИОбороты.Период,
| ТаблОстаткиИОбороты.Регистратор,
| СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаНачальныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток *ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаКонечныйОстаток,
| СУММА(ТаблОстаткиИОбороты.КолПриход * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаПриход,
| СУММА(ТаблОстаткиИОбороты.КолРасход * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаРасход,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0),
| ВТ_СтоимостьТМЦ.ТипЦен
|{ВЫБРАТЬ
| Филиал.*,
| Фирма.*,
| Склад.*,
| Номенклатура.*,
| ВариантИсполнения.*,
| КПриемкеОТК,
| ВесНачальныйОстаток,
| ВесКонечныйОстаток,
| ВесПриход,
| ВесРасход,
| ОбъемНачальныйОстаток,
| ОбъемКонечныйОстаток,
| ОбъемПриход,
| ОбъемРасход,
| Вес,
| Объем,
| Коэффициент,
| Период,
| Регистратор.*,
| КоличествоНачальныйОстаток,
| КоличествоКонечныйОстаток,
| КоличествоПриход,
| КоличествоРасход,
| СуммаНачальныйОстаток,
| СуммаКонечныйОстаток,
| СуммаПриход,
| СуммаРасход,
| ТаблОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм,
| ТаблОстаткиИОбороты.ПериодДень,
| ТаблОстаткиИОбороты.ПериодНеделя,
| ТаблОстаткиИОбороты.ПериодДекада,
| ТаблОстаткиИОбороты.ПериодМесяц,
| ТаблОстаткиИОбороты.ПериодКвартал,
| ТаблОстаткиИОбороты.ПериодПолугодие,
| ТаблОстаткиИОбороты.ПериодГод,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0),
| ВТ_СтоимостьТМЦ.ТипЦен}
|ИЗ
| (ВЫБРАТЬ
| ОстаткиТМЦОстаткиИОбороты.Филиал КАК Филиал,
| ОстаткиТМЦОстаткиИОбороты.Фирма КАК Фирма,
| ОстаткиТМЦОстаткиИОбороты.Склад КАК Склад,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
| ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
| ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК КАК КПриемкеОТК,
| ОстаткиТМЦОстаткиИОбороты.КолНачальныйОстаток КАК КолНачальныйОстаток,
| ОстаткиТМЦОстаткиИОбороты.КолКонечныйОстаток КАК КолКонечныйОстаток,
| ОстаткиТМЦОстаткиИОбороты.КолПриход КАК КолПриход,
| ОстаткиТМЦОстаткиИОбороты.КолРасход КАК КолРасход,
| ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
| КОНЕЦ КАК Вес,
| ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
| КОНЕЦ КАК Объем,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
| ОстаткиТМЦОстаткиИОбороты.Период КАК Период,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕНЬ) КАК ПериодДень,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕКАДА) КАК ПериодДекада,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, КВАРТАЛ) КАК ПериодКвартал,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
| НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ГОД) КАК ПериодГод,
| ОстаткиТМЦОстаткиИОбороты.Регистратор КАК Регистратор
| ИЗ
| РегистрНакопления.ОстаткиТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Филиал).*, (Фирма).*, (Склад).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК ОстаткиТМЦОстаткиИОбороты
| {ГДЕ
| ОстаткиТМЦОстаткиИОбороты.Филиал.*,
| ОстаткиТМЦОстаткиИОбороты.Фирма.*,
| ОстаткиТМЦОстаткиИОбороты.Склад.*,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.*,
| ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.*,
| ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК,
| (ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
| КОНЕЦ) КАК Вес,
| (ВЫБОР
| КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
| ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
| ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
| КОНЕЦ) КАК Объем,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
| ОстаткиТМЦОстаткиИОбороты.Регистратор.*,
| ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм}) КАК ТаблОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьТМЦ КАК ВТ_СтоимостьТМЦ
| ПО ТаблОстаткиИОбороты.ВариантИсполнения = ВТ_СтоимостьТМЦ.ВариантИсполнения
| И ТаблОстаткиИОбороты.Номенклатура = ВТ_СтоимостьТМЦ.Номенклатура
| И ТаблОстаткиИОбороты.Фирма = ВТ_СтоимостьТМЦ.Фирма
|{ГДЕ
| (СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоНачальныйОстаток,
| (СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоКонечныйОстаток,
| (СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоПриход,
| (СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоРасход,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
| (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
| (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
| (ТаблОстаткиИОбороты.КолРасход *ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаРасход,
| (ТаблОстаткиИОбороты.КолПриход * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаПриход,
| (ТаблОстаткиИОбороты.КолКонечныйОстаток * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаКонечныйОстаток,
| (ТаблОстаткиИОбороты.КолНачальныйОстаток * ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0)) КАК СуммаНачальныйОстаток}
|
|СГРУППИРОВАТЬ ПО
| ТаблОстаткиИОбороты.Филиал,
| ТаблОстаткиИОбороты.Фирма,
| ТаблОстаткиИОбороты.Склад,
| ТаблОстаткиИОбороты.Период,
| ТаблОстаткиИОбороты.Регистратор,
| ТаблОстаткиИОбороты.Номенклатура,
| ТаблОстаткиИОбороты.ВариантИсполнения,
| ТаблОстаткиИОбороты.КПриемкеОТК,
| ТаблОстаткиИОбороты.Вес,
| ТаблОстаткиИОбороты.Объем,
| ТаблОстаткиИОбороты.Коэффициент,
| ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0),
| ВТ_СтоимостьТМЦ.ТипЦен
|{УПОРЯДОЧИТЬ ПО
| Филиал.*,
| Фирма.*,
| Склад.*,
| Номенклатура.*,
| ВариантИсполнения.*,
| КПриемкеОТК,
| Вес,
| Объем,
| Период,
| Регистратор.*,
| ТаблОстаткиИОбороты.ПериодДень,
| ТаблОстаткиИОбороты.ПериодНеделя,
| ТаблОстаткиИОбороты.ПериодДекада,
| ТаблОстаткиИОбороты.ПериодМесяц,
| ТаблОстаткиИОбороты.ПериодКвартал,
| ТаблОстаткиИОбороты.ПериодПолугодие,
| ТаблОстаткиИОбороты.ПериодГод,
| ВТ_СтоимостьТМЦ.Цена,
| ВТ_СтоимостьТМЦ.ТипЦен}
|ИТОГИ
| СУММА(КоличествоНачальныйОстаток),
| СУММА(КоличествоКонечныйОстаток),
| СУММА(КоличествоПриход),
| СУММА(КоличествоРасход),
| СУММА(ВесНачальныйОстаток),
| СУММА(ВесКонечныйОстаток),
| СУММА(ВесПриход),
| СУММА(ВесРасход),
| СУММА(ОбъемНачальныйОстаток),
| СУММА(ОбъемКонечныйОстаток),
| СУММА(ОбъемПриход),
| СУММА(ОбъемРасход),
| СУММА(СуммаНачальныйОстаток),
| СУММА(СуммаКонечныйОстаток),
| СУММА(СуммаПриход),
| СУММА(СуммаРасход)
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| Филиал.*,
| Фирма.*,
| Склад.*,
| Номенклатура.*,
| ВариантИсполнения.*,
| КПриемкеОТК,
| Период,
| Регистратор.*,
| ТаблОстаткиИОбороты.ПериодДень,
| ТаблОстаткиИОбороты.ПериодНеделя,
| ТаблОстаткиИОбороты.ПериодДекада,
| ТаблОстаткиИОбороты.ПериодМесяц,
| ТаблОстаткиИОбороты.ПериодКвартал,
| ТаблОстаткиИОбороты.ПериодПолугодие,
| ТаблОстаткиИОбороты.ПериодГод,
| ВТ_СтоимостьТМЦ.Цена,
| ВТ_СтоимостьТМЦ.ТипЦен}"
ПоказатьСумма началный остаток и тд
везде, где используете ВТ_СтоимостьТМЦ должно стоять ЕстьNULL
ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0),
ВТ_СтоимостьТМЦ.ТипЦен
Уж проставьте сами
А лучше удалите вы эти Типы цен
потом можно будет добавить если Очень захотите
ЕСТЬNULL(ВТ_СтоимостьТМЦ.Цена,0),
ВТ_СтоимостьТМЦ.ТипЦен
Уж проставьте сами
А лучше удалите вы эти Типы цен
потом можно будет добавить если Очень захотите
Вы когда смотрели консолькой результат по ВТ_СтоимостьТМЦ - там же были поля Цены со значением NULL ?
сократите свой запрос до минимум миниморум в консоли, чтобы легче было разбираться...
оставьте только то что не можете получить - суммы стоимости.
Когда получите все в нужном виде - расширите свои получаемые данные - это основной принцип программирования (сначала сделать минимальный рабочий скелет)
Иначе разбираться очень трудно где прошляпил
оставьте только то что не можете получить - суммы стоимости.
Когда получите все в нужном виде - расширите свои получаемые данные - это основной принцип программирования (сначала сделать минимальный рабочий скелет)
Иначе разбираться очень трудно где прошляпил
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот