Skip to content

Instantly share code, notes, and snippets.

@Konctantin
Created May 6, 2011 11:25
Show Gist options
  • Save Konctantin/958782 to your computer and use it in GitHub Desktop.
Save Konctantin/958782 to your computer and use it in GitHub Desktop.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СУММА(ВложенныйЗапрос.КоличествоБух) КАК КоличествоБух,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.СерияНоменклатуры КАК СерияНоменклатуры,
| СУММА(ВложенныйЗапрос.КоличествоУпр) КАК КоличествоУпр,
| СУММА(ВложенныйЗапрос.КоличествоНал) КАК КоличествоНал,
| 1 * 0 КАК Разница,
| 2 * 0 КАК Списывать,
| ВложенныйЗапрос.Документ КАК Документ,
| ВложенныйЗапрос.Склад КАК Склад,
| СУММА(ВложенныйЗапрос.НормаЕстественнойУбыли) КАК НормаЕстественнойУбыли,
| СУММА(ВложенныйЗапрос.ПодлежитСписаниюВПределахЕстественнойУбыли) КАК ПодлежитСписаниюВПределахЕстественнойУбыли,
| 3 * 0 КАК Перемещать
|ИЗ
| (ВЫБРАТЬ
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад КАК Склад,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток КАК КоличествоБух,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура КАК Номенклатура,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СерияНоменклатуры КАК СерияНоменклатуры,
| NULL КАК КоличествоУпр,
| NULL КАК КоличествоНал,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ДокументОприходования КАК Документ,
| NULL КАК НормаЕстественнойУбыли,
| NULL КАК ПодлежитСписаниюВПределахЕстественнойУбыли
| ИЗ
| РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки(
| &ДатаКон,
| Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.Уголь)
| И ДокументОприходования.ОтражатьВБухгалтерскомУчете
| И (НЕ ДокументОприходования.ОтражатьВУправленческомУчете)
| И ДокументОприходования.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия)
| И СчетУчета = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Топливо)
| И Склад = ЗНАЧЕНИЕ(Справочник.Склады.ВПути)) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПартииТоваровНаСкладахОстатки.Склад,
| NULL,
| ПартииТоваровНаСкладахОстатки.Номенклатура,
| ПартииТоваровНаСкладахОстатки.СерияНоменклатуры,
| ПартииТоваровНаСкладахОстатки.КоличествоОстаток,
| NULL,
| ПартииТоваровНаСкладахОстатки.ДокументОприходования,
| ПриемкаУгляТовары.НормаЕстественнойУбыли,
| ПриемкаУгляТовары.ПодлежитСписаниюВПределахЕстественнойУбыли
| ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
| &ДатаКон,
| Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.Уголь)
| И ДокументОприходования.ОтражатьВУправленческомУчете
| И (НЕ(ДокументОприходования.ОтражатьВБухгалтерскомУчете
| ИЛИ ДокументОприходования.ОтражатьВНалоговомУчете))
| И ДокументОприходования.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия)
| И Склад <> ЗНАЧЕНИЕ(Справочник.Склады.ВПути)) КАК ПартииТоваровНаСкладахОстатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриемкаУгля.Товары КАК ПриемкаУгляТовары
| ПО ПартииТоваровНаСкладахОстатки.Номенклатура = ПриемкаУгляТовары.Номенклатура
| И ПартииТоваровНаСкладахОстатки.СерияНоменклатуры = ПриемкаУгляТовары.СерияНоменклатуры
| И (ПриемкаУгляТовары.Ссылка.Проведен)
| И (ПриемкаУгляТовары.Ссылка.Дата <= &ДатаКон)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПартииТоваровНаСкладахНалоговыйУчетОстатки.Склад,
| NULL,
| ПартииТоваровНаСкладахНалоговыйУчетОстатки.Номенклатура,
| ПартииТоваровНаСкладахНалоговыйУчетОстатки.СерияНоменклатуры,
| NULL,
| ПартииТоваровНаСкладахНалоговыйУчетОстатки.КоличествоОстаток,
| ПартииТоваровНаСкладахНалоговыйУчетОстатки.ДокументОприходования,
| NULL,
| NULL
| ИЗ
| РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.Остатки(
| &ДатаКон,
| Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.Уголь)
| И ДокументОприходования.ОтражатьВНалоговомУчете
| И (НЕ ДокументОприходования.ОтражатьВУправленческомУчете)
| И ДокументОприходования.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия)
| И Склад = ЗНАЧЕНИЕ(Справочник.Склады.ВПути)) КАК ПартииТоваровНаСкладахНалоговыйУчетОстатки) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.СерияНоменклатуры,
| ВложенныйЗапрос.Склад,
| ВложенныйЗапрос.Документ,
| ВложенныйЗапрос.Номенклатура
|ИТОГИ
| СУММА(ЕСТЬNULL(КоличествоБух, 0)) КАК КоличествоБух,
| СУММА(ЕСТЬNULL(КоличествоУпр, 0)) КАК КоличествоУпр,
| СУММА(ЕСТЬNULL(КоличествоНал, 0)) КАК КоличествоНал,
| СУММА(ЕСТЬNULL(КоличествоУпр, 0) - ЕСТЬNULL(КоличествоБух, 0)) КАК Разница,
| ВЫБОР
| КОГДА СУММА(ПодлежитСписаниюВПределахЕстественнойУбыли) > 0
| И СУММА(КоличествоБух) > 0
| И СУММА(КоличествоУпр) + СУММА(ПодлежитСписаниюВПределахЕстественнойУбыли) = СУММА(КоличествоБух)
| И СУММА(КоличествоБух) = СУММА(КоличествоНал)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Списывать,
| СУММА(НормаЕстественнойУбыли),
| СУММА(ПодлежитСписаниюВПределахЕстественнойУбыли),
| ВЫБОР
| КОГДА СУММА(КоличествоБух) > 0
| И СУММА(КоличествоУпр) + СУММА(ПодлежитСписаниюВПределахЕстественнойУбыли) = СУММА(КоличествоБух)
| И СУММА(КоличествоБух) = СУММА(КоличествоНал)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК Перемещать
|ПО
| СерияНоменклатуры,
| Склад,
| Документ";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment