Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Фев 2018, 04:59
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Завышение цены номенклатуры в отчете  (Прочитано 4052 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nail2010

  • ****
  • Сообщений: 325
  • РЕПУТАЦИЯ: 18
  • КПД: 6%
  • Регистрация: 2010-10-27
  • Сайт: 
Всем доброго дня!

В отчете у меня непонятно почему - выводится цены номенклатуры (из СрезаПоследних) в 2 раза завышенные, причем по некоторым позициям. Текст запроса привожу ниже. Главное, что интересно- в отчете есть результатирующая колонка. которая умножает цену на количество, и считает то она ПРАВИЛЬНО! Например,
                Видеокамера       2шт     4000р(завышенная цена)    Сумма - 4000 (2 х 2000).

У кого нибудь было подобное? Подскажите, в чем причина может быть?

ВЫБРАТЬ РАЗЛИЧНЫЕ
   ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
   МИНИМУМ(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "ИП Исаев"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
      КОНЕЦ) КАК КоличествоИсаев,
   МИНИМУМ(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "Спектр"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
      КОНЕЦ) КАК КоличествоСпектр,
   СУММА(ВЫБОР
         КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Закупочная"
            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК ЦенаЗакупочная,
   СУММА(ВЫБОР
         КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Оптовая"
            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК ЦенаОптовая,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "Спектр"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Закупочная"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаСпектрЗакупочная,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "Спектр"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Оптовая"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаСпектрОптовая,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "ИП Исаев"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Закупочная"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаИсаевЗакупочная,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "ИП Исаев"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Оптовая"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаИсаевОптовая,
   СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена
ПОМЕСТИТЬ ТЧ
ИЗ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки
      ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ХозрасчетныйОстатки.Субконто1
ГДЕ
   ХозрасчетныйОстатки.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах)
   И ХозрасчетныйОстатки.Субконто1 <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)

СГРУППИРОВАТЬ ПО
   ХозрасчетныйОстатки.Субконто1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТЧ.Номенклатура КАК Номенклатура,
   ТЧ.ЦенаЗакупочная КАК ЦенаЗакупочная,
   ТЧ.ЦенаОптовая КАК ЦенаОптовая,
   ТЧ.КоличествоИсаев КАК КоличествоИсаев,
   ТЧ.КоличествоСпектр КАК КоличествоСпектр,
   ТЧ.СуммаИсаевЗакупочная КАК СуммаИсаевЗакупочная,
   ТЧ.СуммаИсаевОптовая КАК СуммаИсаевОптовая,
   ВЫБОР
      КОГДА ТЧ.СуммаИсаевЗакупочная > 0
         ТОГДА ТЧ.СуммаИсаевОптовая / ТЧ.СуммаИсаевЗакупочная
   КОНЕЦ КАК КоэфициентИсаев,
   ТЧ.СуммаСпектрЗакупочная КАК СуммаСпектрЗакупочная,
   ТЧ.СуммаСпектрОптовая КАК СуммаСпектрОптовая,
   ВЫБОР
      КОГДА ТЧ.СуммаСпектрЗакупочная > 0
         ТОГДА ТЧ.СуммаСпектрОптовая / ТЧ.СуммаСпектрЗакупочная
   КОНЕЦ КАК КоэфициентСпектр
ИЗ
   ТЧ КАК ТЧ


Оффлайн Шурыгин Иван Сергеевич

  • забей на все....
  • ****
  • Сообщений: 330
  • РЕПУТАЦИЯ: 82
  • КПД: 25%
  • забей на все!
  • Регистрация: 2011-05-23
  • Сайт: 
  • Профессия: Программист 8.1
какую цену завышает?? закупочную или оптовую??? и может надо немного по другому перестроить отчет??? я бы предложил отчет с группировками, сначала фирма, потом тип цен. хотя это лишь предложение:)
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Оффлайн Nail2010

  • ****
  • Сообщений: 325
  • РЕПУТАЦИЯ: 18
  • КПД: 6%
  • Регистрация: 2010-10-27
  • Сайт: 
Завышает и ту и ту, и еще раз повторюсь, не по всем позициям (конкретно по 6-ти из 15000). Колонки переставлять смысла нет, заказчика все устраивает

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Зачем в строках цены суммирование? Мы же получаем в любом случае, определенное СТАТИЧЕСКОЕ значение, суммирование здесь не нужно. Поставьте максимум, например:
 МАКСИМУМ(ВЫБОР
         КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Закупочная"
            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК ЦенаЗакупочная,
и так во всех местах.

И согласна с Иваном Сергеевичем, лучше сделать группировками. Проверять наименование в полях - замедляет работу, да и не красиво. Впрочем, переделывать уже наверняка не будете ;)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Nail2010

  • ****
  • Сообщений: 325
  • РЕПУТАЦИЯ: 18
  • КПД: 6%
  • Регистрация: 2010-10-27
  • Сайт: 
Ребята, даже если ставишь значение ресурса Цена МАКСИМУМ, все равно по тем же поцициям цена перехлестывается в 2 раза...

Оффлайн Шурыгин Иван Сергеевич

  • забей на все....
  • ****
  • Сообщений: 330
  • РЕПУТАЦИЯ: 82
  • КПД: 25%
  • забей на все!
  • Регистрация: 2011-05-23
  • Сайт: 
  • Профессия: Программист 8.1
для начала упрости запрос, убрав в нем много численное ВЫБОР. и сформируй через компановку! две группировки я уже говорил какие, фирма и тип цен. и посмотри внимательно, что у этих позиций не обычного!
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Ну переписывать уже не обязательно, можно оставить и с "выбор когда", не криминально.
Приведите полученный запрос.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Шурыгин Иван Сергеевич

  • забей на все....
  • ****
  • Сообщений: 330
  • РЕПУТАЦИЯ: 82
  • КПД: 25%
  • забей на все!
  • Регистрация: 2011-05-23
  • Сайт: 
  • Профессия: Программист 8.1
просто убрав условия ВЫБОР и загнав запрос в консоль можно посмотреть между какими конретно строчками идет выбор и поиск максимума... ответ может быть прямо на поверхности
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Оффлайн Nail2010

  • ****
  • Сообщений: 325
  • РЕПУТАЦИЯ: 18
  • КПД: 6%
  • Регистрация: 2010-10-27
  • Сайт: 
Привожу сапрос еще раз

ВЫБРАТЬ РАЗЛИЧНЫЕ
   ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
   МИНИМУМ(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "ИП Исаев"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
      КОНЕЦ) КАК КоличествоИсаев,
   МИНИМУМ(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "Спектр"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток
      КОНЕЦ) КАК КоличествоСпектр,
   СУММА(ВЫБОР
         КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Закупочная"
            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК ЦенаЗакупочная,
   СУММА(ВЫБОР
         КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Оптовая"
            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК ЦенаОптовая,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "Спектр"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Закупочная"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаСпектрЗакупочная,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "Спектр"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Оптовая"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаСпектрОптовая,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "ИП Исаев"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Закупочная"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаИсаевЗакупочная,
   СУММА(ВЫБОР
         КОГДА ХозрасчетныйОстатки.Субконто2.Наименование = "ИП Исаев"
               И ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование = "Оптовая"
            ТОГДА ХозрасчетныйОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена
      КОНЕЦ) КАК СуммаИсаевОптовая,
   СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена
ПОМЕСТИТЬ ТЧ
ИЗ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки
      ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ХозрасчетныйОстатки.Субконто1
ГДЕ
   ХозрасчетныйОстатки.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах)
   И ХозрасчетныйОстатки.Субконто1 <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)

СГРУППИРОВАТЬ ПО
   ХозрасчетныйОстатки.Субконто1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТЧ.Номенклатура КАК Номенклатура,
   ТЧ.ЦенаЗакупочная КАК ЦенаЗакупочная,
   ТЧ.ЦенаОптовая КАК ЦенаОптовая,
   ТЧ.КоличествоИсаев КАК КоличествоИсаев,
   ТЧ.КоличествоСпектр КАК КоличествоСпектр,
   ТЧ.СуммаИсаевЗакупочная КАК СуммаИсаевЗакупочная,
   ТЧ.СуммаИсаевОптовая КАК СуммаИсаевОптовая,
   ВЫБОР
      КОГДА ТЧ.СуммаИсаевЗакупочная > 0
         ТОГДА ТЧ.СуммаИсаевОптовая / ТЧ.СуммаИсаевЗакупочная
   КОНЕЦ КАК КоэфициентИсаев,
   ТЧ.СуммаСпектрЗакупочная КАК СуммаСпектрЗакупочная,
   ТЧ.СуммаСпектрОптовая КАК СуммаСпектрОптовая,
   ВЫБОР
      КОГДА ТЧ.СуммаСпектрЗакупочная > 0
         ТОГДА ТЧ.СуммаСпектрОптовая / ТЧ.СуммаСпектрЗакупочная
   КОНЕЦ КАК КоэфициентСпектр
ИЗ
   ТЧ КАК ТЧ


Оффлайн Nail2010

  • ****
  • Сообщений: 325
  • РЕПУТАЦИЯ: 18
  • КПД: 6%
  • Регистрация: 2010-10-27
  • Сайт: 
дело в том что ВЫБОР КОГДА - это необходимое условие заказчика, и все показывает как нужно  -эти колонки вычисляют разные значения, - осталось разобраться только с ценой.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
189 Сообщений
AIFrame AIFrame
81 Сообщений
alexandr_ll
41 Сообщений
BuhRust
29 Сообщений
wise wise
27 Сообщений
oleg-x
26 Сообщений
MuI_I_Ika MuI_I_Ika
25 Сообщений
pavl_vs
22 Сообщений
Кейли Кейли
21 Сообщений
andron81_81
20 Сообщений

* Кто онлайн

  • Точка Гостей: 192
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal