8.х деление на 0 в СКД

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем vartanet, 11 фев 2011.

  1. TopicStarter Overlay
    vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    выполняю запрос в консоле запросов - все нормально.

    кидаю его в систему компоновки. запускаю отчет - в некоторых строках при расчете "процент прочие" и "процент продано" вылазит сообщение "деление на 0". КАК?!


    ---

    ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура
    ПОМЕСТИТЬ Таблица1
    ИЗ
    Справочник.Номенклатура КАК Номенклатура
    ГДЕ
    Номенклатура.ЭтоГруппа = ЛОЖЬ
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.КоличествоОборот КАК КоличествоВсего,
    ПродажиОбороты.СтоимостьОборот КАК СтоимостьВсего,
    ВЫБОР
    КОГДА ПродажиОбороты.КоличествоОборот = 0
    ТОГДА 0
    ИНАЧЕ ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот
    КОНЕЦ КАК СредняяЦенаВсего
    ПОМЕСТИТЬ Таблица2
    ИЗ
    РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, , Организация = &Организация) КАК ПродажиОбороты
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ДополнительныйРегистрУчетаГТДОстаткиИОбороты.Номенклатура,
    ДополнительныйРегистрУчетаГТДОстаткиИОбороты.КоличествоРасход КАК КоличествоПродано,
    ДополнительныйРегистрУчетаГТДОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКПродаже
    ПОМЕСТИТЬ Таблица3
    ИЗ
    РегистрНакопления.ДополнительныйРегистрУчетаГТД.ОстаткиИОбороты(&НачПериода, &КонПериода, , , Организация = &Организация) КАК ДополнительныйРегистрУчетаГТДОстаткиИОбороты
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Таблица1.Номенклатура,
    ВЫБОР
    КОГДА Таблица2.КоличествоВсего ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ Таблица2.КоличествоВсего
    КОНЕЦ КАК КоличествоВсего,
    ВЫБОР
    КОГДА Таблица2.СтоимостьВсего ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ Таблица2.СтоимостьВсего
    КОНЕЦ КАК СтоимостьВсего,
    ВЫБОР
    КОГДА Таблица2.СредняяЦенаВсего ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ Таблица2.СредняяЦенаВсего
    КОНЕЦ КАК СредняяЦенаВсего,
    ВЫБОР
    КОГДА Таблица3.КоличествоПродано ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ Таблица3.КоличествоПродано
    КОНЕЦ КАК КоличествоПродано,
    ВЫБОР
    КОГДА Таблица3.КоличествоКПродаже ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ Таблица3.КоличествоКПродаже
    КОНЕЦ КАК КоличествоКПродаже
    ПОМЕСТИТЬ Таблица4
    ИЗ
    Таблица1 КАК Таблица1
    ЛЕВОЕ СОЕДИНЕНИЕ Таблица3 КАК Таблица3
    ПО Таблица1.Номенклатура = Таблица3.Номенклатура
    ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2
    ПО Таблица1.Номенклатура = Таблица2.Номенклатура
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Таблица4.Номенклатура,
    Таблица4.КоличествоВсего,
    Таблица4.СтоимостьВсего,
    Таблица4.СредняяЦенаВсего,
    Таблица4.КоличествоПродано,
    Таблица4.КоличествоКПродаже,
    Таблица4.КоличествоВсего - Таблица4.КоличествоПродано КАК КоличествоПрочие,
    Таблица4.КоличествоПродано * Таблица4.СредняяЦенаВсего КАК СтоимостьПродано,
    Таблица4.КоличествоКПродаже * Таблица4.СредняяЦенаВсего КАК СтоимостьКПродаже,
    (Таблица4.КоличествоВсего - Таблица4.КоличествоПродано) * Таблица4.СредняяЦенаВсего КАК СтоимостьПрочие
    ПОМЕСТИТЬ Таблица5
    ИЗ
    Таблица4 КАК Таблица4
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Таблица5.Номенклатура,
    Таблица5.КоличествоВсего,
    Таблица5.СтоимостьВсего,
    Таблица5.СредняяЦенаВсего,
    Таблица5.КоличествоПродано,
    Таблица5.КоличествоКПродаже,
    Таблица5.КоличествоПрочие,
    Таблица5.СтоимостьПродано,
    Таблица5.СтоимостьКПродаже,
    Таблица5.СтоимостьПрочие,
    ВЫБОР
    КОГДА Таблица5.СтоимостьВсего = 0
    ТОГДА 0
    ИНАЧЕ Таблица5.СтоимостьПродано / Таблица5.СтоимостьВсего * 100
    КОНЕЦ КАК ПроцентПродано,
    ВЫБОР
    КОГДА Таблица5.СтоимостьВсего = 0
    ТОГДА 0
    ИНАЧЕ Таблица5.СтоимостьПрочие / Таблица5.СтоимостьВсего * 100
    КОНЕЦ КАК ПроцентПрочие
    ИЗ
    Таблица5 КАК Таблица5
  2. Неназываемый
    Offline

    Неназываемый Опытный в 1С Команда форума

    Регистрация:
    2 фев 2007
    Сообщения:
    507
    Симпатии:
    7
    Баллы:
    29
  3. TopicStarter Overlay
    vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    разобрался..

    забыл в ресурсах написать конструкцию "выбор".. забавно что "деление на 0" выходило именно в обычных строках, а не в группировках. это и ввело в заблуждение - куда рыть.

    выбор когда Сумма(СтоимостьВсего)=0 тогда 0 иначе (Сумма(СтоимостьПродано) / Сумма(СтоимостьВсего)) * 100 конец

    и

    выбор когда Сумма(СтоимостьВсего)=0 тогда 0 иначе (Сумма(СтоимостьПрочие) / Сумма(СтоимостьВсего)) * 100 конец
Похожие темы
  1. Faz
    Ответов:
    3
    Просмотров:
    2.044
  2. Настенок
    Ответов:
    14
    Просмотров:
    2.539
  3. iluha_u
    Ответов:
    1
    Просмотров:
    1.068
  4. Klaid
    Ответов:
    18
    Просмотров:
    11.912
Загрузка...

Поделиться этой страницей