![]() |
|
Помогите с запросом для 1с аптека розница, бывает задваивает цифры | ☑ | ||
---|---|---|---|---|
0
ded20ded
01.06.15
✎
14:47
|
Помогите с запросом для 1с аптека розница, бывает задваеввает цифры, хотя не всегда
ВЫБРАТЬ Приход.Ссылка КАК Партия, Приход.Ссылка.Дата КАК Период, Приход.Ссылка.МоментВремени, Приход.Номенклатура, Приход.Количество, Приход.Сумма, Приход.Ссылка.Магазин, Приход.НомерСтроки, Приход.Характеристика, Приход.Цена, Приход.ЦенаГосРеестра, Приход.ор_ЖНВЛППоНакладной, Приход.ор_ЦенаПроизводителя ПОМЕСТИТЬ Приход ИЗ Документ.ПоступлениеТоваров.Товары КАК Приход ГДЕ Приход.Ссылка.Проведен И Приход.Ссылка.Дата <= &ДатаКонца ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВозвратТоваровОтПокупателяТовары.Ссылка, ВозвратТоваровОтПокупателяТовары.Ссылка.Дата, ВозвратТоваровОтПокупателяТовары.Ссылка.МоментВремени, ВозвратТоваровОтПокупателяТовары.Номенклатура, ВозвратТоваровОтПокупателяТовары.Количество, ВозвратТоваровОтПокупателяТовары.Сумма, ВозвратТоваровОтПокупателяТовары.Ссылка.Магазин, -1, ВозвратТоваровОтПокупателяТовары.Характеристика, NULL, NULL, NULL, NULL ИЗ Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары ГДЕ ВозвратТоваровОтПокупателяТовары.Ссылка.Проведен И ВозвратТоваровОтПокупателяТовары.Ссылка.Дата <= &ДатаКонца ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Расход.Ссылка КАК Регистратор, Расход.Ссылка.Дата КАК Период, Расход.Ссылка.МоментВремени, Расход.Номенклатура, СУММА(Расход.Количество) КАК Количество, СУММА(Расход.Сумма) КАК Сумма, Расход.Ссылка.Магазин, Расход.Характеристика, СУММА(ВЫБОР КОГДА Расход.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0) ТОГДА Расход.СуммаНДС ИНАЧЕ 0 КОНЕЦ) КАК СуммаНДС0, СУММА(ВЫБОР КОГДА Расход.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ИЛИ Расход.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110) ТОГДА Расход.СуммаНДС ИНАЧЕ 0 КОНЕЦ) КАК СуммаНДС10, СУММА(ВЫБОР КОГДА Расход.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) ИЛИ Расход.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118) ТОГДА Расход.СуммаНДС ИНАЧЕ 0 КОНЕЦ) КАК СуммаНДС18, Расход.СтавкаНДС ПОМЕСТИТЬ Расход ИЗ Документ.РеализацияТоваров.Товары КАК Расход ГДЕ Расход.Ссылка.Проведен И Расход.Ссылка.Дата <= &ДатаКонца СГРУППИРОВАТЬ ПО Расход.Характеристика, Расход.Номенклатура, Расход.Ссылка, Расход.Ссылка.Дата, Расход.Ссылка.МоментВремени, Расход.Ссылка.Магазин, Расход.СтавкаНДС ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ОтчетОРозничныхПродажахТовары.Ссылка, ОтчетОРозничныхПродажахТовары.Ссылка.Дата, ОтчетОРозничныхПродажахТовары.Ссылка.МоментВремени, ОтчетОРозничныхПродажахТовары.Номенклатура, СУММА(ОтчетОРозничныхПродажахТовары.Количество), СУММА(ОтчетОРозничныхПродажахТовары.Сумма), ОтчетОРозничныхПродажахТовары.Ссылка.Магазин, ОтчетОРозничныхПродажахТовары.Характеристика, СУММА(ВЫБОР КОГДА ОтчетОРозничныхПродажахТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0) ТОГДА ОтчетОРозничныхПродажахТовары.СуммаНДС ИНАЧЕ 0 КОНЕЦ), СУММА(ВЫБОР КОГДА ОтчетОРозничныхПродажахТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ИЛИ ОтчетОРозничныхПродажахТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110) ТОГДА ОтчетОРозничныхПродажахТовары.СуммаНДС ИНАЧЕ 0 КОНЕЦ), СУММА(ВЫБОР КОГДА ОтчетОРозничныхПродажахТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) ИЛИ ОтчетОРозничныхПродажахТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118) ТОГДА ОтчетОРозничныхПродажахТовары.СуммаНДС ИНАЧЕ 0 КОНЕЦ), ОтчетОРозничныхПродажахТовары.СтавкаНДС ИЗ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары ГДЕ ОтчетОРозничныхПродажахТовары.Ссылка.Проведен И ОтчетОРозничныхПродажахТовары.Ссылка.Дата <= &ДатаКонца СГРУППИРОВАТЬ ПО ОтчетОРозничныхПродажахТовары.Ссылка, ОтчетОРозничныхПродажахТовары.Номенклатура, ОтчетОРозничныхПродажахТовары.Характеристика, ОтчетОРозничныхПродажахТовары.Ссылка.Дата, ОтчетОРозничныхПродажахТовары.Ссылка.МоментВремени, ОтчетОРозничныхПродажахТовары.Ссылка.Магазин, ОтчетОРозничныхПродажахТовары.СтавкаНДС ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВозвратТоваровПоставщикуТовары.Ссылка, ВозвратТоваровПоставщикуТовары.Ссылка.Дата, ВозвратТоваровПоставщикуТовары.Ссылка.МоментВремени, ВозвратТоваровПоставщикуТовары.Номенклатура, СУММА(ВозвратТоваровПоставщикуТовары.Количество), СУММА(ВозвратТоваровПоставщикуТовары.Сумма), ВозвратТоваровПоставщикуТовары.Ссылка.Магазин, ВозвратТоваровПоставщикуТовары.Характеристика, СУММА(ВЫБОР КОГДА ВозвратТоваровПоставщикуТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0) ТОГДА ВозвратТоваровПоставщикуТовары.СуммаНДС ИНАЧЕ 0 КОНЕЦ), СУММА(ВЫБОР КОГДА ВозвратТоваровПоставщикуТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ИЛИ ВозвратТоваровПоставщикуТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110) ТОГДА ВозвратТоваровПоставщикуТовары.СуммаНДС ИНАЧЕ 0 КОНЕЦ), СУММА(ВЫБОР КОГДА ВозвратТоваровПоставщикуТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) ИЛИ ВозвратТоваровПоставщикуТовары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118) ТОГДА ВозвратТоваровПоставщикуТовары.СуммаНДС ИНАЧЕ 0 КОНЕЦ), ВозвратТоваровПоставщикуТовары.СтавкаНДС ИЗ Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары ГДЕ ВозвратТоваровПоставщикуТовары.Ссылка.Проведен И ВозвратТоваровПоставщикуТовары.Ссылка.Дата <= &ДатаКонца СГРУППИРОВАТЬ ПО ВозвратТоваровПоставщикуТовары.Номенклатура, ВозвратТоваровПоставщикуТовары.Ссылка, ВозвратТоваровПоставщикуТовары.Характеристика, ВозвратТоваровПоставщикуТовары.Ссылка.Дата, ВозвратТоваровПоставщикуТовары.Ссылка.МоментВремени, ВозвратТоваровПоставщикуТовары.Ссылка.Магазин, ВозвратТоваровПоставщикуТовары.СтавкаНДС ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Приход.Период, Приход.МоментВремени, Приход.Партия, Приход.Номенклатура, Приход.Количество, Приход.Сумма, СУММА(Приход1.Количество) - Приход.Количество КАК КоличествоДо, СУММА(Приход1.Количество) КАК КоличествоПосле, Приход.Магазин, Приход.Характеристика, Приход.НомерСтроки ПОМЕСТИТЬ НарПриход ИЗ Приход КАК Приход ВНУТРЕННЕЕ СОЕДИНЕНИЕ Приход КАК Приход1 ПО Приход.Номенклатура = Приход1.Номенклатура И Приход.МоментВремени >= Приход1.МоментВремени И Приход.Магазин = Приход1.Магазин И Приход.Характеристика = Приход1.Характеристика СГРУППИРОВАТЬ ПО Приход.Партия, Приход.Период, Приход.МоментВремени, Приход.Номенклатура, Приход.Количество, Приход.Сумма, Приход.Магазин, Приход.Характеристика, Приход.НомерСтроки ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Расход.Период, Расход.МоментВремени, Расход.Регистратор, Расход.Номенклатура, Расход.Количество, Расход.Сумма, СУММА(Расход1.Количество) - Расход.Количество КАК КоличествоДо, СУММА(Расход1.Количество) КАК КоличествоПосле, Расход.Магазин, Расход.Характеристика ПОМЕСТИТЬ НарРасход ИЗ Расход КАК Расход ВНУТРЕННЕЕ СОЕДИНЕНИЕ Расход КАК Расход1 ПО Расход.Номенклатура = Расход1.Номенклатура И Расход.МоментВремени >= Расход1.МоментВремени И Расход.Магазин = Расход1.Магазин И Расход.Характеристика = Расход1.Характеристика СГРУППИРОВАТЬ ПО Расход.Период, Расход.МоментВремени, Расход.Регистратор, Расход.Номенклатура, Расход.Количество, Расход.Сумма, Расход.Магазин, Расход.Характеристика ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НарРасход.Период, НарРасход.Регистратор, НарПриход.Партия, НарРасход.Номенклатура, ЕСТЬNULL(НарПриход.Сумма, 0) КАК СуммаПартии, НарРасход.Количество КАК КоличествоПоДокументу, ВЫБОР КОГДА НарПриход.Партия ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА НарПриход.КоличествоПосле < НарРасход.КоличествоПосле ТОГДА НарПриход.КоличествоПосле ИНАЧЕ НарРасход.КоличествоПосле КОНЕЦ - ВЫБОР КОГДА НарПриход.КоличествоДо > НарРасход.КоличествоДо ТОГДА НарПриход.КоличествоДо ИНАЧЕ НарРасход.КоличествоДо КОНЕЦ КОНЕЦ КАК КоличествоСписания, ВЫБОР КОГДА НарПриход.КоличествоПосле <= НарРасход.КоличествоПосле ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ПризнакЗакрытияПартии, НарРасход.МоментВремени, ЕСТЬNULL(НарПриход.Количество, 1) КАК КоличествоПартии, НарРасход.Магазин, НарРасход.Характеристика, НарПриход.НомерСтроки ПОМЕСТИТЬ ДвиженияПредварительные ИЗ НарРасход КАК НарРасход ЛЕВОЕ СОЕДИНЕНИЕ НарПриход КАК НарПриход ПО НарРасход.Номенклатура = НарПриход.Номенклатура И НарРасход.КоличествоПосле > НарПриход.КоличествоДо И НарРасход.КоличествоДо < НарПриход.КоличествоПосле И НарРасход.МоментВремени > НарПриход.МоментВремени И НарРасход.Магазин = НарПриход.Магазин И НарРасход.Характеристика = НарПриход.Характеристика ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПЕРВЫЕ 1 ДвиженияПредварительные.МоментВремени КАК МоментВремени, ДвиженияПредварительные.Регистратор, ДвиженияПредварительные.Номенклатура, ДвиженияПредварительные.КоличествоПоДокументу, СУММА(ДвиженияПредварительные.КоличествоСписания) КАК КоличествоСписания, ДвиженияПредварительные.Магазин, ДвиженияПредварительные.Характеристика, ДвиженияПредварительные.НомерСтроки ПОМЕСТИТЬ ОпределениеПервогоМинуса ИЗ ДвиженияПредварительные КАК ДвиженияПредварительные СГРУППИРОВАТЬ ПО ДвиженияПредварительные.Регистратор, ДвиженияПредварительные.КоличествоПоДокументу, ДвиженияПредварительные.МоментВремени, ДвиженияПредварительные.Номенклатура, ДвиженияПредварительные.Магазин, ДвиженияПредварительные.Характеристика, ДвиженияПредварительные.НомерСтроки ИМЕЮЩИЕ ДвиженияПредварительные.КоличествоПоДокументу <> СУММА(ДвиженияПредварительные.КоличествоСписания) УПОРЯДОЧИТЬ ПО МоментВремени ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДвиженияПредварительные.Период, ДвиженияПредварительные.МоментВремени, ДвиженияПредварительные.Регистратор, ДвиженияПредварительные.Партия, ДвиженияПредварительные.Номенклатура, ДвиженияПредварительные.ПризнакЗакрытияПартии, ВЫРАЗИТЬ(ДвиженияПредварительные.КоличествоСписания КАК ЧИСЛО(10, 2)) КАК КоличествоСписания, ВЫРАЗИТЬ(ВЫБОР КОГДА ДвиженияПредварительные.КоличествоПартии = 0 ТОГДА 0 ИНАЧЕ ДвиженияПредварительные.СуммаПартии * ДвиженияПредварительные.КоличествоСписания / ДвиженияПредварительные.КоличествоПартии КОНЕЦ КАК ЧИСЛО(10, 2)) КАК СуммаСписания, ДвиженияПредварительные.СуммаПартии, ДвиженияПредварительные.Магазин, ДвиженияПредварительные.Характеристика, ДвиженияПредварительные.НомерСтроки ПОМЕСТИТЬ ДвиженияССуммами ИЗ ДвиженияПредварительные КАК ДвиженияПредварительные ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДвиженияССуммами.Номенклатура, ДвиженияССуммами.Партия, ДвиженияССуммами.СуммаПартии, МАКСИМУМ(ДвиженияССуммами.ПризнакЗакрытияПартии) КАК ПризнакЗакрытияПартии, ДвиженияССуммами.СуммаПартии - СУММА(ДвиженияССуммами.СуммаСписания) КАК ПогрешностьОкругления, ДвиженияССуммами.Магазин, ДвиженияССуммами.Характеристика, ДвиженияССуммами.НомерСтроки ПОМЕСТИТЬ ДляОкругления ИЗ ДвиженияССуммами КАК ДвиженияССуммами СГРУППИРОВАТЬ ПО ДвиженияССуммами.Партия, ДвиженияССуммами.Номенклатура, ДвиженияССуммами.СуммаПартии, ДвиженияССуммами.Магазин, ДвиженияССуммами.Характеристика, ДвиженияССуммами.НомерСтроки ИМЕЮЩИЕ МАКСИМУМ(ДвиженияССуммами.ПризнакЗакрытияПартии) = ИСТИНА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДвиженияССуммами.Магазин КАК Магазин, ДвиженияССуммами.Регистратор КАК ДокументПродажи, ДвиженияССуммами.Номенклатура КАК Номенклатура, ДвиженияССуммами.Характеристика КАК Характеристика, СУММА(ДвиженияССуммами.КоличествоСписания) КАК КоличествоСписанноеПоПартиям, СУММА(ДвиженияССуммами.СуммаСписания + ЕСТЬNULL(ДляОкругления.ПогрешностьОкругления, 0)) КАК Себестоимость, ДвиженияССуммами.Партия, СУММА(ВЫБОР КОГДА ЕСТЬNULL(Расход.Количество, 0) = 0 ИЛИ ЕСТЬNULL(ДвиженияССуммами.КоличествоСписания, 0) = 0 ТОГДА Расход.Сумма ИНАЧЕ Расход.Сумма / Расход.Количество * ДвиженияССуммами.КоличествоСписания КОНЕЦ) КАК Сумма, СУММА(ВЫБОР КОГДА ЕСТЬNULL(Расход.Количество, 0) = 0 ИЛИ ЕСТЬNULL(ДвиженияССуммами.КоличествоСписания, 0) = 0 ТОГДА Расход.СуммаНДС0 ИНАЧЕ Расход.СуммаНДС0 / Расход.Количество * ДвиженияССуммами.КоличествоСписания КОНЕЦ) КАК СуммаНДС0, СУММА(ВЫБОР КОГДА ЕСТЬNULL(Расход.Количество, 0) = 0 ИЛИ ЕСТЬNULL(ДвиженияССуммами.КоличествоСписания, 0) = 0 ТОГДА Расход.СуммаНДС10 ИНАЧЕ Расход.СуммаНДС10 / Расход.Количество * ДвиженияССуммами.КоличествоСписания КОНЕЦ) КАК СуммаНДС10, СУММА(ВЫБОР КОГДА ЕСТЬNULL(Расход.Количество, 0) = 0 ИЛИ ЕСТЬNULL(ДвиженияССуммами.КоличествоСписания, 0) = 0 ТОГДА Расход.СуммаНДС18 ИНАЧЕ Расход.СуммаНДС18 / Расход.Количество * ДвиженияССуммами.КоличествоСписания КОНЕЦ) КАК СуммаНДС18, ЕСТЬNULL(Приход.ЦенаГосРеестра, 0) КАК ЦенаГосРеестра, Расход.СтавкаНДС, ВЫБОР КОГДА ЕСТЬNULL(Расход.Количество, 0) = 0 ТОГДА Расход.Сумма ИНАЧЕ Расход.Сумма / Расход.Количество КОНЕЦ КАК ЦенаПродажи, ВЫБОР КОГДА ЕСТЬNULL(ДвиженияССуммами.КоличествоСписания, 0) = 0 ТОГДА 0 ИНАЧЕ (ДвиженияССуммами.СуммаСписания + ЕСТЬNULL(ДляОкругления.ПогрешностьОкругления, 0)) / ДвиженияССуммами.КоличествоСписания КОНЕЦ КАК ЦенаЗакупа, Расход.Количество КАК Количество, ДвиженияССуммами.НомерСтроки КАК НомерСтрокиПартии ИЗ ДвиженияССуммами КАК ДвиженияССуммами ЛЕВОЕ СОЕДИНЕНИЕ ДляОкругления КАК ДляОкругления ПО ДвиженияССуммами.Номенклатура = ДляОкругления.Номенклатура И ДвиженияССуммами.Партия = ДляОкругления.Партия И ДвиженияССуммами.ПризнакЗакрытияПартии = ДляОкругления.ПризнакЗакрытияПартии И ДвиженияССуммами.Магазин = ДляОкругления.Магазин И ДвиженияССуммами.Характеристика = ДляОкругления.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ Приход КАК Приход ПО ДвиженияССуммами.Партия = Приход.Партия И ДвиженияССуммами.НомерСтроки = Приход.НомерСтроки ЛЕВОЕ СОЕДИНЕНИЕ Расход КАК Расход ПО ДвиженияССуммами.Регистратор = Расход.Регистратор И ДвиженияССуммами.Номенклатура = Расход.Номенклатура И ДвиженияССуммами.Характеристика = Расход.Характеристика ГДЕ ДвиженияССуммами.Период МЕЖДУ &ДатаНачала И &ДатаКонца И НЕ Расход.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику СГРУППИРОВАТЬ ПО ДвиженияССуммами.Номенклатура, ДвиженияССуммами.Регистратор, ДвиженияССуммами.Характеристика, ДвиженияССуммами.Партия, ДвиженияССуммами.Магазин, ЕСТЬNULL(Приход.ЦенаГосРеестра, 0), Расход.СтавкаНДС, Расход.Количество, ДвиженияССуммами.НомерСтроки, ВЫБОР КОГДА ЕСТЬNULL(ДвиженияССуммами.КоличествоСписания, 0) = 0 ТОГДА 0 ИНАЧЕ (ДвиженияССуммами.СуммаСписания + ЕСТЬNULL(ДляОкругления.ПогрешностьОкругления, 0)) / ДвиженияССуммами.КоличествоСписания КОНЕЦ, ВЫБОР КОГДА ЕСТЬNULL(Расход.Количество, 0) = 0 ТОГДА Расход.Сумма ИНАЧЕ Расход.Сумма / Расход.Количество КОНЕЦ УПОРЯДОЧИТЬ ПО Магазин, ДокументПродажи, Номенклатура, Характеристика |
|||
1
AlexITGround
01.06.15
✎
15:03
|
Не должно раздваиваться. Консоль юзай и проверяй по кусочкам из частей объединений.
|
|||
2
ded20ded
01.06.15
✎
15:34
|
тогда поделитесь нормальной консолью для управляемого приложения 8.3
|
|||
3
ded20ded
02.06.15
✎
13:08
|
ап
|
|||
4
pessok
02.06.15
✎
13:10
|
на всем известном сайте есть
|
|||
5
ded20ded
02.06.15
✎
13:11
|
там бонусы или деньги просят, может сегодня кто щедрый тут есть и выложит ссылку на обменик
|
|||
6
pessok
02.06.15
✎
13:12
|
(5) у нас правилами запрещено же, вроде бы
|
|||
7
Мимохожий Однако
02.06.15
✎
13:12
|
ВОзьми любой ИТС и там есть
|
|||
8
Trotter
02.06.15
✎
13:18
|
А зачем по ссылке объеденять ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |