Не обработана ошибка деления на ноль

Деление на 0: как исправить ошибку в программах 1С?

Опубликовано 25.01.2022 16:09
Автор: Administrator
Просмотров: 15520

Совсем скоро предстоит начислять зарплату за январь в программах 1С. И большинство расчетчиков и бухгалтеров столкнутся с такой ошибкой в базах как «Деление на 0». Почему это происходит и как самостоятельно, не прибегая к помощи программистов, исправить самую частую ошибку января любого года расскажем в данной публикации. 

 Итак, ошибка выглядит следующим образом:

Возникает она потому, что не указана норма дней на новый календарный год.

Есть несколько причин почему так происходит:

1. Не заполнены графики работы на новый календарный год – это самая популярная ситуация.

В 1С: ЗУП ред. 3.1 они находятся в разделе «Настройка» – «Предприятие» — «Графики работы сотрудников», в 1С: Бухгалтерии предприятия ред. 3.0 — в разделе «Зарплата и кадры» — «Справочники и настройки» — «Графики работы».

По кнопке «Заполнить» сформируется график и ошибка уйдет.

Такие манипуляции необходимо сделать со всеми введенными графиками, в том числе индивидуальными.

2. Неверно заполнен производственный календарь

В вышеуказанных разделах 1С есть производственные календари. Редко, но бывает, что ошибка деления на 0 происходит из-за некорректно заполненного календаря.

На скриншоте приведен календарь на следующий 2023 год. Видите, он полностью красный? Именно так и выглядит эта ошибка. Разработчики к концу 2022 года ее поправят, и норма дней будет считаться корректно.

3. В графике работ все дни помечены как выходные

Да, такое тоже бывает. Иногда пользователи вводят индивидуальные графики сотрудникам, «играются» с их заполнением, но не всегда программа это понимает и порой выдает ошибку деления на 0.

4. Ошибка в формуле расчета

Иногда пользователю необходимо считать зарплату по своим индивидуальным формулам расчета. Но зачастую формула вводится неверно, отсюда и возникает эта ошибка. В этом случае мы рекомендуем обращаться к консультантам 1С. Возможно вашу формулу можно настроить штатными механизмами 1С.

Тут же стоит сказать еще об одной вытекающей из этого пункта ошибке — не верно настроен приоритет видов начислений. Именно в случае когда создается много начислений со своими формулами расчета они начинают конфликтовать со стандартным начислением оплаты по окладу.
Так что, друзья, не выдумываем велосипед там, где его давно изобрели, а обращаемся к специалистам 1С.

5. В редких случаях такая ошибка возникает в следствие экстренного отключения электроэнергии, аварийного завершения 1С. В этом случае необходимо почистить кэш и прибегнуть к тестированию базы 1С.

Автор статьи: Ирина Плотникова

Text.ru - 100.00%

Понравилась статья? Подпишитесь на рассылку новых материалов

Добавить комментарий

 +3 

   

Распечатать

Это сообщение возникает в том случае, если в алгоритме конфигурации Используется деление и не выполняется проверка значения делителя. Обычно эта ошибка возникает из-за того, что не заполнены какие-либо данные (сумма, количество, коэффициенты и т.п.). Необходимые для работы алгоритма данные должны быть заполнены, например, в документе или справочнике, элемент которого выбран в документе. Обычно эта проблема решается вводом необходимых для работы алгоритма данных и повторным запуском алгоритма (формирования отчета или проведения документов).

Решение:
в коде

Код 1C v 8.х

 //Просто проверка на то что Делитель не равен 0
Если Число(ШиринаБумаги) <> 0 Тогда
КолвоБумСПриладкой = КолвоБумаги / Число(ШиринаБумаги);
КонецЕсли;

в запросе:

Код 1C v 8.х

 ВЫБОР 
КОГДА ПартииТоваровНаСкладахОстатки.КоличествоОстаток = 0 ТОГДА 0
ИНАЧЕ ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток / ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 0)
КОНЕЦ КАК Себестоимость

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Марат

Дата регистрации: 28.01.2019
Сообщений: 6

Здравствуйте, помогите пожалуйста с ошибкой. Пытаюсь сформировать : Отчеты — Анализ учета по НДС

{ОбщийМодуль.ДлительныеОперации.Модуль(376)}: Ошибка при выполнении операции над данными:
Microsoft SQL Server Native Client 11.0: Обнаружена ошибка: деление на ноль.
HRESULT=80040E14, SQLSrvr: SQLSTATE=22012, state=1, Severity=10, native=8134, line=1

            ВызватьИсключение(ТекстОшибки);

Произошло после перехода из 8.3.10(ошибки не было) на 8.3.13.
Версия 1с серверная. Документов сотни тысяч, просматривать руками каждый — не вариант.

Тестово перевел из серверной в файловую базу — на удивление все заработало БЕЗ Ошибок.

Vladko

Дата регистрации: 27.08.2007
Сообщений: 2644

Марат,посмотрите как на последней 8.3.12 работает. Здесь ясно, что это — глюк платформы. Если ошибка повторится, то напишите на горячую линию 1С сообщение об ошибке.

Марат

Дата регистрации: 28.01.2019
Сообщений: 6

Я писал. Мне говорят проверить все документы (а их огромное количество с незапамятных времен).

Вот ответ от v8 V8@1c.ru

При формировании отчета «Анализ учета по НДС» выдается сообщение об ошибке «Обнаружена ошибка: деление на ноль» если в информационной базе присутствуют документы следующих видов: -Поступление на расчетный счет, -Списание с расчетного счета, -Операция по платежной карте -Поступление наличных со значением кратности взаиморасчетов равной нулю.

Отчет не формируется даже за сегодняшнюю дату, при условии что ни одного действия с документами не было произведено.
На 8.3.12 не могу проверить, так как нет этой платформы. я обновлялся с 8.3.10 напрямую до 8.3.13.Но суть в том, что в 8.3.10 все работало.

Марат

Дата регистрации: 28.01.2019
Сообщений: 6

Ошибку исправил. Сделал универсальный отчет, установил на все документы условие: Кратность = 0.
Поправил все документы — Внимание, учитываются даже НЕ проведенные документы.

Vladko

Дата регистрации: 27.08.2007
Сообщений: 2644

Марат,в универсальном отчете можно тоже добавить в отбор условие на проведённость документа

Марат

Дата регистрации: 28.01.2019
Сообщений: 6

Vladko, Спасибо, буду знать. Дальше копать в отчете не стал, проблема нашлась и решилась.

EvJ2019

Дата регистрации: 13.03.2019
Сообщений: 1

Марат пишет:

Цитата

              Ошибку исправил. Сделал универсальный отчет, установил на все документы условие: Кратность = 0. Поправил все документы — Внимание, учитываются даже НЕ проведенные документы.

Добрый день. А какие документы вы поправляли, скажите, пожалуйста?
Такая же ошибка. Но в документах Поступление на расчетный счет, Списание с расчетного счета, Операция по платежной карте, Поступление наличных нет реквизита Кратность взаиморасчетов.

Valentin46

Дата регистрации: 10.02.2011
Сообщений: 1041

Марат пишет:

Цитата
На 8.3.12 не могу проверить, так как нет этой платформы. я обновлялся с 8.3.10 напрямую до 8.3.13.

А это как понимать, нельзя ли пояснить?

Показывать по
10
20
40
сообщений

Читают тему:

Добрый день, дорогие читатели. На днях одна из фирм, которую я обслуживаю обратилась ко мне с проблемой.
При закрытии месяца в 1С появлялась ошибка: Деление на 0.

{Документ.ФормированиеЗаписейКнигиПокупок.МодульОбъекта(2466)}: Деление на 0
НДССтроки = Окр(СтрокаТаблицы.НДС * СуммаБезНДССтроки / СтрокаТаблицы.СуммаБезНДС, 2);

 
delenie na 0 1C

Первым делом, я залез на форум с спросил совета у программистов 1С. Мне сказали проверить кратность в Валютах. Она должна быть равна 1.

Для перехода в раздел Валюты переходим во вкладку Банк и выбираем вкладку Валюты. Проверяем везде кратность, она должна равняться 1. Загружаем курсы валют за период, который не закрывается.

Раздел Валюты должен выглядеть следующим образом:

kursi valut 1c

После проверки своей базы я убедился, что с курсами валют и кратностью у меня полный порядок, но закрытие месяца так и не проводилось. (В большинстве случаев проблема деления на 0, заключается именно в кратности в курсах валют)

Я долго не мог разобраться в данной проблеме, перепровел все документы в книге покупок и продаж.

Лишь спустя несколько дней я нашел непроведенный документ без записей в разделе ОперацииРегламентные документы 1С.

reglamentnie dokumenti 1c

В регламентных документах НДС в конце списка я обнаружил непроведенный документ. Формирование книги покупок, в котором ничего не было записано, я его провел  и какого было мое удивление, месяц закрылся, проблема решена.

reglamentnie dokumenti 1c-2

zakritie mesyaca

На этом статья подошла к концу, надеюсь мне удалось кому-либо помочь решить данную проблему.

Деление на 0: как исправить ошибку в программах 1С?

Опубликовано 25.01.2022 16:09
Автор: Administrator
Просмотров: 10910

Совсем скоро предстоит начислять зарплату за январь в программах 1С. И большинство расчетчиков и бухгалтеров столкнутся с такой ошибкой в базах как «Деление на 0». Почему это происходит и как самостоятельно, не прибегая к помощи программистов, исправить самую частую ошибку января любого года расскажем в данной публикации. 

 Итак, ошибка выглядит следующим образом:

Возникает она потому, что не указана норма дней на новый календарный год.

Есть несколько причин почему так происходит:

1. Не заполнены графики работы на новый календарный год – это самая популярная ситуация.

В 1С: ЗУП ред. 3.1 они находятся в разделе «Настройка» – «Предприятие» — «Графики работы сотрудников», в 1С: Бухгалтерии предприятия ред. 3.0 — в разделе «Зарплата и кадры» — «Справочники и настройки» — «Графики работы».

По кнопке «Заполнить» сформируется график и ошибка уйдет.

Такие манипуляции необходимо сделать со всеми введенными графиками, в том числе индивидуальными.

2. Неверно заполнен производственный календарь

В вышеуказанных разделах 1С есть производственные календари. Редко, но бывает, что ошибка деления на 0 происходит из-за некорректно заполненного календаря.

На скриншоте приведен календарь на следующий 2023 год. Видите, он полностью красный? Именно так и выглядит эта ошибка. Разработчики к концу 2022 года ее поправят, и норма дней будет считаться корректно.

3. В графике работ все дни помечены как выходные

Да, такое тоже бывает. Иногда пользователи вводят индивидуальные графики сотрудникам, «играются» с их заполнением, но не всегда программа это понимает и порой выдает ошибку деления на 0.

4. Ошибка в формуле расчета

Иногда пользователю необходимо считать зарплату по своим индивидуальным формулам расчета. Но зачастую формула вводится неверно, отсюда и возникает эта ошибка. В этом случае мы рекомендуем обращаться к консультантам 1С. Возможно вашу формулу можно настроить штатными механизмами 1С.

Тут же стоит сказать еще об одной вытекающей из этого пункта ошибке — не верно настроен приоритет видов начислений. Именно в случае когда создается много начислений со своими формулами расчета они начинают конфликтовать со стандартным начислением оплаты по окладу.
Так что, друзья, не выдумываем велосипед там, где его давно изобрели, а обращаемся к специалистам 1С.

5. В редких случаях такая ошибка возникает в следствие экстренного отключения электроэнергии, аварийного завершения 1С. В этом случае необходимо почистить кэш и прибегнуть к тестированию базы 1С.

Автор статьи: Ирина Плотникова

Text.ru - 100.00%

Понравилась статья? Подпишитесь на рассылку новых материалов

Добавить комментарий

Ошибка в коде документа Закрытие месяца?

Я
   Худой

05.08.08 — 19:19

БП. версия 1.6.8.3 (и в версиях ниже  тот же текст)

Интересно. При проведении месяца, выдалась ошибка — Деление на ноль. Посмотрел текст программы. Там стоит следующее(можете найти поиском в модуле) —

ДолжноБытьСписано = Окр(Обход.Сумма * УчтеноБазаРаспределения / ВсегоБазаРаспределения, 2, 1);

Получается, что переменная «ВсегоБазаРаспределения» оказалась равна нулю. Меня не интересует почему она оказалась равной нулю. Просто совершенно непонятно, почему программисты в 1С, перед тем, как делать деление, не производят проверку на ноль. Это банальные проблемы первокласников.

Пока вставил в текст проверку

Если ВсегоБазаРаспределения = 0 Тогда

  Сообщить(«Ошибка » + БазаРаспределения+» «+БазаРаспределенияНаВыпуск);

  Продолжить

КонецЕсли;

Интересно, что при проведении документа, ситуация, когда ВсегоБазаРаспределения = 0, выдавалась при

БазаРаспределения = БазаРаспределенияНаВыпуск

Что скажете по поводу изменения?

   ТелепатБот

1 — 05.08.08 — 19:19

Книга знаний: Обновление всех модулей документов, справочников, отчетов и обработок без обновления конфигурации.

  

wertyu

2 — 05.08.08 — 19:20

(0) счет-то какой?

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Добрый день. 1С:Предприятие 8.3 (8.3.8.1747) УСН
Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.44.155)
Добрый день, при формировании РКО на одного из сотрудников вскакивает ошибка «Деление на 0», а именно «Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.НалоговыйУчетУСН.Модуль(7539)}: Деление на 0″

Подскажите пожалуйста как исправить?

Добрый день!

Цитата (guttatim):при формировании РКО на одного из сотрудников

Это выплата зарплаты из кассы?
Вы пользуетесь обработкой Выплата зарплаты расходными ордерами?

Заполнить и подать уведомление об исчисленных суммах налогов и взносов

Это выдача подотчетному лицу.

Я поискала, такой ошибки не зарегистрировано. Но это программная ошибка.
Либо обновитесь, вашему релизу почти два месяца, либо напишите разработчику в 1С.

Здравствуйте.

Возможно, это связано с валютой. Зайдите в справочник Валюты. Откройте Российский рубль. Вверху Нажмите Курсы валют. Там должно быть заполнено курс и кратность 1.

Заполняйте платежки с актуальными на сегодня КБК, кодами дохода и другими обязательными реквизитами

Всем спасибо за помощь, все перепробовала, не помогло, пригласили специалиста за денежку, отправила
запрос в 1с, жду решения от них теперь.

Напишите потом, в чем была проблема.

1

2

Показывать по
10
20
40
сообщений

Новая тема

Ответить

АленаКачаева

Дата регистрации: 19.01.2009
Сообщений: 48

Добрый день! При проведении авансового отчета программа пишет Деление на 0 и не проводит док-т.Однако при проведении той же самой операции в демо версии все в порядке.1С:Предприятие 8.1 (8.1.12.101)Бухгалтерия предприятия, редакция 1.6 (1.6.11.7). Подскажите, пожалуйста, в чем может быть причина? Спасибо

Vladko

Дата регистрации: 27.08.2007
Сообщений: 2643

это значит, что число в знаменателе у деления равно нулю. Это всё что можно сказать по данной информации.<br>А если напишите подробнее ошибку(всё что пишет комп), то можно и по-конкретнее сказать где смотреть

EAX88

Дата регистрации: 23.06.2008
Сообщений: 159

Советую в посике сообщений набрать «ошибка деления на ноль» совсем недавно эта тема очень-очень подробно разбиралась и были найдены решения! В итоге это ошибка 1С-ников, в следующем релизе, который уже не за горами, обещали поправить!!!

Prikum

активный пользователь

онлайн

Дата регистрации: 18.02.2002
Сообщений: 20834

Тут другая ошибка, тут авансовый отчет, а не декларации

АленаКачаева

Дата регистрации: 19.01.2009
Сообщений: 48

При проведении док-та так и пишет «Деление на 0». Подробно:Ошибка при выполнении обработчика — ‘{Документ.АвансовыйОтчет(856)}: Деление на 0′<br>по причине:<br>{Документ.АвансовыйОтчет(856)}: Деление на 0<br>Спасибо!

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

Там происходит пересчет по курсу — либо курс валюты равен нулю, либо кратность валюты документа равна нулю.

АленаКачаева

Дата регистрации: 19.01.2009
Сообщений: 48

Спасибо огромное! Получилось!

Bezimyashka

Дата регистрации: 15.06.2010
Сообщений: 4

«При формировании отчета «Накопительная ведомость по расходу продуктов питания» выдает ошибку: Деление на 0.<br>Подробно:<br>{Отчет.НакопительнаяВедомостьПоРасходуПродуктовПитания0504038.МодульОбъекта(816)}: Деление на 0<br>Макет.Параметры.пЦена = Данные.Сумма / Данные.Количество;<br><br>Подскажите, что делать. Заранее спасибо»

Prikum

активный пользователь

онлайн

Дата регистрации: 18.02.2002
Сообщений: 20834

Конфигурация какая? Хотя судя по отчету, это бюджетка!?

Bezimyashka

Дата регистрации: 15.06.2010
Сообщений: 4

Бухгалтерия бюджетного учреждения, редакция 1.0 (1.0.15.5)

   sooo_ez

23.06.16 — 17:01

{ОбщийМодуль.ДлительныеОперации.Модуль(167)}: Ошибка при выполнении операции над данными:

Microsoft SQL Server Native Client 11.0: Обнаружена ошибка: деление на ноль.

HRESULT=80040E14, SQLSrvr: SQLSTATE=22012, state=1, Severity=10, native=8134, line=1

        ВызватьИсключение(ТекстОшибки);

Запрос норм работает

В «Настройки — Отчет — Отбор» есть флаг, когда тыкаю на форме «Ложь» ошибка есть, когда «Истина» ошибки нет.

Как можно посмотреть конечный запрос СКД? или, если кто встречался с такой ситуацией, можно ли обойти этот момент?

   MrStomak

1 — 23.06.16 — 17:05

Главное — ни в коем случае не пости сюда текст своего запроса, скрывай до последнего!

   sooo_ez

2 — 23.06.16 — 17:13

ВЫБРАТЬ

    ПланыМероприятийСрезПоследних.Мероприятие КАК Мероприятие,

    ПланыМероприятийСрезПоследних.Статус КАК Статус,

    ПланыМероприятийСрезПоследних.КБК КАК КБК,

    ПланыМероприятийСрезПоследних.Департамент КАК Департамент,

    ПланыМероприятийСрезПоследних.Мероприятие.НачалоПроведенияМероприятия КАК НачалоПроведенияМероприятия,

    ПланыМероприятийСрезПоследних.Мероприятие.ОкончаниеПроведенияМероприятия КАК ОкончаниеПроведенияМероприятия,

    СУММА(ЕСТЬNULL(СуммаМероприятияОбороты.СуммаФБОборот, 0)) КАК СуммаФБ,

    СУММА(ЕСТЬNULL(СуммаМероприятияОбороты.СуммаСФОборот, 0)) КАК СуммаСФ,

    СУММА(ЕСТЬNULL(СуммаМероприятияОбороты.СуммаВнеБюджетОборот, 0)) КАК СуммаВнеБюджет,

    ПланыМероприятийСрезПоследних.Мероприятие.СтатусМероприятия КАК ПромСтатусМероприятия,

    ВЫБОР

        КОГДА ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ДоговорЗаключен)

                ИЛИ ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ДоговорИсполнен)

                ИЛИ ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ДоговорСоздан)

                ИЛИ ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ПринятыОбязательства)

            ТОГДА ИСТИНА

        ИНАЧЕ ЛОЖЬ

    КОНЕЦ КАК ЗаключенДоговор,

    СУММА(1) КАК КоличествоМероприятий,

    ПланыМероприятийСрезПоследних.Мероприятие.ПризнакОбщейЗаявки КАК ЭтоОбщееМероприятие

ПОМЕСТИТЬ ВыборкаМеропритий

ИЗ

    РегистрСведений.ПланыМероприятий.СрезПоследних(

            ,

            Мероприятие.НачалоПроведенияМероприятия МЕЖДУ &ДатаНачала И &ДатаОкончания

                И (Год МЕЖДУ НАЧАЛОПЕРИОДА(&ГОД, ГОД) И КОНЕЦПЕРИОДА(&Год, ГОД))) КАК ПланыМероприятийСрезПоследних

        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.СуммаМероприятия.Обороты(, , , Год = НАЧАЛОПЕРИОДА(&ГОД, ГОД)) КАК СуммаМероприятияОбороты

        ПО ПланыМероприятийСрезПоследних.Мероприятие = СуммаМероприятияОбороты.Мероприятие

            И ПланыМероприятийСрезПоследних.Год = СуммаМероприятияОбороты.Год

СГРУППИРОВАТЬ ПО

    ПланыМероприятийСрезПоследних.Мероприятие,

    ПланыМероприятийСрезПоследних.КБК,

    ПланыМероприятийСрезПоследних.Департамент,

    ПланыМероприятийСрезПоследних.Статус,

    ПланыМероприятийСрезПоследних.Мероприятие.НачалоПроведенияМероприятия,

    ПланыМероприятийСрезПоследних.Мероприятие.ОкончаниеПроведенияМероприятия,

    ПланыМероприятийСрезПоследних.Мероприятие.СтатусМероприятия,

    ВЫБОР

        КОГДА ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ДоговорЗаключен)

                ИЛИ ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ДоговорИсполнен)

                ИЛИ ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ДоговорСоздан)

                ИЛИ ПланыМероприятийСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМероприятия.ПринятыОбязательства)

            ТОГДА ИСТИНА

        ИНАЧЕ ЛОЖЬ

    КОНЕЦ,

    ПланыМероприятийСрезПоследних.Мероприятие.ПризнакОбщейЗаявки

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    ИсполнениеДоговоровОбороты.Договор,

    ИсполнениеДоговоровОбороты.МероприятиеДок КАК Мероприятие,

    СУММА(ЕСТЬNULL(ИсполнениеДоговоровОбороты.СуммаФБПриход, 0)) КАК СуммаОбязательств,

    СУММА(ЕСТЬNULL(ИсполнениеДоговоровОбороты.СуммаФБРасход, 0)) КАК СуммаРаспоряжений,

    СУММА(ЕСТЬNULL(ИсполнениеДоговоровОбороты.СуммаФБПриход — ИсполнениеДоговоровОбороты.СуммаФБРасход, 0)) КАК СуммаНесполненныхРаспоряжений,

    СУММА(1) КАК КоличествоДоговоров

ПОМЕСТИТЬ Договора

ИЗ

    РегистрНакопления.ИсполнениеДоговоров.Обороты(&ДатаНачала, &ДатаОкончания, , ОтчетныйПериод.ДатаНачала МЕЖДУ НАЧАЛОПЕРИОДА(&ГОД, ГОД) И КОНЕЦПЕРИОДА(&Год, ГОД)) КАК ИсполнениеДоговоровОбороты

        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыборкаМеропритий КАК ВыборкаМеропритий

        ПО ИсполнениеДоговоровОбороты.МероприятиеДок = ВыборкаМеропритий.Мероприятие

СГРУППИРОВАТЬ ПО

    ИсполнениеДоговоровОбороты.Договор,

    ИсполнениеДоговоровОбороты.МероприятиеДок

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    СУММА(ПлатежноеПоручение.СуммаДокумента) КАК СуммаДокумента,

    ПлатежноеПоручение.Договор

ПОМЕСТИТЬ Платежки

ИЗ

    Документ.ПлатежноеПоручение КАК ПлатежноеПоручение

        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Договора КАК Договора

        ПО ПлатежноеПоручение.Договор = Договора.Договор

СГРУППИРОВАТЬ ПО

    ПлатежноеПоручение.Договор

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    ВыборкаМеропритий.Мероприятие КАК Мероприятие,

    ВыборкаМеропритий.КБК КАК КБК,

    СУММА(ВыборкаМеропритий.СуммаФБ) КАК СуммаФБ,

    СУММА(ВыборкаМеропритий.СуммаСФ) КАК СуммаСФ,

    СУММА(ВыборкаМеропритий.СуммаВнеБюджет) КАК СуммаВнеБюджет,

    ВыборкаМеропритий.Департамент,

    ВыборкаМеропритий.ЗаключенДоговор,

    ВЫБОР

        КОГДА Договора.Договор ЕСТЬ NULL

            ТОГДА «договор не заключен»

        ИНАЧЕ Договора.Договор

    КОНЕЦ КАК Договор,

    СУММА(ВЫБОР

            КОГДА Договора.СуммаОбязательств ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ Договора.СуммаОбязательств

        КОНЕЦ) КАК СуммаОбязательства,

    СУММА(ВыборкаМеропритий.СуммаФБ — ЕСТЬNULL(Договора.СуммаОбязательств, 0)) КАК СуммаБезДоговора,

    СУММА(ВЫБОР

            КОГДА Договора.СуммаРаспоряжений ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ Договора.СуммаРаспоряжений

        КОНЕЦ) КАК СуммаРаспоряжения,

    СУММА(ВЫБОР

            КОГДА Договора.СуммаНесполненныхРаспоряжений ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ Договора.СуммаНесполненныхРаспоряжений

        КОНЕЦ) КАК СуммаНесполненныхРаспоряжений,

    СУММА(ВыборкаМеропритий.КоличествоМероприятий) КАК КоличествоМероприятий,

    СУММА(ВЫБОР

            КОГДА Договора.КоличествоДоговоров ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ 1

        КОНЕЦ) КАК КоличествоДоговоров,

    СУММА(ЕСТЬNULL(Платежки.СуммаДокумента, 0)) КАК СуммаПлатежки,

    ВыборкаМеропритий.ЭтоОбщееМероприятие

ПОМЕСТИТЬ ОбщаяТаблица

ИЗ

    ВыборкаМеропритий КАК ВыборкаМеропритий

        ПОЛНОЕ СОЕДИНЕНИЕ Договора КАК Договора

            ПОЛНОЕ СОЕДИНЕНИЕ Платежки КАК Платежки

            ПО Договора.Договор = Платежки.Договор

        ПО ВыборкаМеропритий.Мероприятие = Договора.Мероприятие

СГРУППИРОВАТЬ ПО

    ВыборкаМеропритий.Департамент,

    ВыборкаМеропритий.ЗаключенДоговор,

    ВыборкаМеропритий.Мероприятие,

    ВыборкаМеропритий.КБК,

    ВЫБОР

        КОГДА Договора.Договор ЕСТЬ NULL

            ТОГДА «договор не заключен»

        ИНАЧЕ Договора.Договор

    КОНЕЦ,

    ВыборкаМеропритий.ЭтоОбщееМероприятие

ИНДЕКСИРОВАТЬ ПО

    Мероприятие

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    ОбщаяТаблица.Мероприятие,

    ОбщаяТаблица.КБК,

    СУММА(ОбщаяТаблица.СуммаФБ) КАК СуммаФБ,

    СУММА(ОбщаяТаблица.СуммаСФ) КАК СуммаСФ,

    СУММА(ОбщаяТаблица.СуммаВнеБюджет) КАК СуммаВнеБюджет,

    ОбщаяТаблица.Департамент,

    ОбщаяТаблица.ЗаключенДоговор,

    ОбщаяТаблица.Договор,

    СУММА(ОбщаяТаблица.СуммаОбязательства) КАК СуммаОбязательства,

    СУММА(ОбщаяТаблица.СуммаБезДоговора) КАК СуммаБезДоговора,

    СУММА(ОбщаяТаблица.СуммаРаспоряжения) КАК СуммаРаспоряжения,

    СУММА(ОбщаяТаблица.СуммаНесполненныхРаспоряжений) КАК СуммаНесполненныхРаспоряжений,

    СУММА(ОбщаяТаблица.КоличествоМероприятий) КАК КоличествоМероприятий,

    СУММА(ОбщаяТаблица.КоличествоДоговоров) КАК КоличествоДоговоров,

    СУММА(ОбщаяТаблица.СуммаПлатежки) КАК СуммаПлатежки,

    СРЕДНЕЕ(ВЫБОР

            КОГДА ОбщаяТаблица.СуммаОбязательства > 0

                ТОГДА ОбщаяТаблица.СуммаОбязательства * ОбщаяТаблица.СуммаФБ * 100

            ИНАЧЕ 0

        КОНЕЦ) КАК СуммаЗаключенныхДоговоровПроцент,

    СРЕДНЕЕ(ВЫБОР

            КОГДА ОбщаяТаблица.СуммаФБ <> 0

                ТОГДА ОбщаяТаблица.СуммаПлатежки * ОбщаяТаблица.СуммаФБ * 100

            ИНАЧЕ 0

        КОНЕЦ) КАК СуммаПеречисленийПроцент,

    СУММА(ОбщаяТаблица.СуммаФБ — ОбщаяТаблица.СуммаПлатежки) КАК НедоперечисленоПоПлану,

    СРЕДНЕЕ(ВЫБОР

            КОГДА ОбщаяТаблица.СуммаОбязательства <> 0

                ТОГДА ОбщаяТаблица.СуммаПлатежки * ОбщаяТаблица.СуммаОбязательства * 100

            ИНАЧЕ 0

        КОНЕЦ) КАК СуммаПеречисленийПроцентКДоговору,

    СУММА(ОбщаяТаблица.СуммаОбязательства — ОбщаяТаблица.СуммаПлатежки) КАК НедоперечисленноПоДоговору,

    ОбщаяТаблица.ЭтоОбщееМероприятие,

    ОбщаяТаблица.КБК.Родитель

ИЗ

    ОбщаяТаблица КАК ОбщаяТаблица

СГРУППИРОВАТЬ ПО

    ОбщаяТаблица.ЗаключенДоговор,

    ОбщаяТаблица.Департамент,

    ОбщаяТаблица.КБК,

    ОбщаяТаблица.Мероприятие,

    ОбщаяТаблица.Договор,

    ОбщаяТаблица.ЭтоОбщееМероприятие

   MrStomak

3 — 23.06.16 — 17:15

В запросе нет деления, значит деление в выражении ресурсов СКД, либо в пользовательских полях, либо в вычисляемых полях, либо в выражении для параметра макета.

   MrStomak

4 — 23.06.16 — 17:16

Хотя нет, если ошибка SQL, то деление в запросе.

Возьми консоль СКД с ИТС и посмотри фактический запрос

   aleks_default

5 — 23.06.16 — 17:19

в процедуре ПриКомпоновкеРезультата в Макете после инициализации можно посмотреть запрос.

   sooo_ez

6 — 23.06.16 — 17:20

(5) Сейчас гляну

   sooo_ez

7 — 23.06.16 — 17:22

(5) А нет, у меня нет формы отчеты

Ща попробую через консоль

   sooo_ez

8 — 23.06.16 — 17:24

А можно в консоли не переписывать все настройки а просто перенести уже имеющийся отчет?

   MrStomak

9 — 23.06.16 — 17:43

Да пропиши в ПрикомпоновкеРезультата

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

Компоновщик = Новый КомпоновщикМакетаКомпоновкиДанных();

Схема = ПолучитьМакет(«ОсновнаяСхемаБлаБлаБла»);

Макет = Компоновщик.Выполнить(Схема,Настройки,ДанныеРасшифровки);

    
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

ПроцессорКомпоновки.Инициализировать(Макет,,ДанныеРасшифровки);

        
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

ПроцессорВывода.Вывести();

В переменной Макет будет результирующий текст запроса.

   hhhh

10 — 23.06.16 — 17:47

(4) может в СРЕДНЕЕ() делние?

   sooo_ez

11 — 23.06.16 — 17:53

(10) Попробовал убрать все, не получилось

Ща попробую получить запрос

   sooo_ez

12 — 23.06.16 — 18:15

Не заходит в ПриКомпоновкеРезультата()

Положил её в модуль обьекта

Она вызывается только при программной компоновке? Не понял как поймать её

   sooo_ez

13 — 23.06.16 — 18:22

   sooo_ez

14 — 23.06.16 — 18:30

не, фигня какаято

   MrStomak

15 — 23.06.16 — 18:33

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

   mehfk

16 — 23.06.16 — 18:41

   sooo_ez

17 — 23.06.16 — 18:42

Скрин

s001.radikal.ru/i193/1606/88/02e10403af3f.png

   MrStomak

18 — 23.06.16 — 18:48

(17) Отладка на сервере выключена наверное, используй консоль тогда (либо запускай отчет не в УФ, а в ОФ)

   sooo_ez

19 — 23.06.16 — 19:01

я получил разные ХМL из другой консоли СКД

Какие смотреть нужно?

http://s015.radikal.ru/i330/1606/9a/2d7eea40dd88.png

а с (16) не могу разобраться, потому что не ловит, отладка была отключена, я подключил но всё равно не ловит

   sooo_ez

20 — 23.06.16 — 19:19

Выловил запрос из

МакетКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос

ВЫБРАТЬ

    ПланыМероприятийСрезПоследних.Мероприятие КАК Мероприятие,

    ПланыМероприятийСрезПоследних.КБК КАК КБК,

    ПланыМероприятийСрезПоследних.Департамент КАК Департамент,

    СУММА(ЕСТЬNULL(СуммаМероприятияОбороты.СуммаФБОборот, 0)) КАК СуммаФБ,

    СУММА(ЕСТЬNULL(СуммаМероприятияОбороты.СуммаСФОборот, 0)) КАК СуммаСФ,

    СУММА(ЕСТЬNULL(СуммаМероприятияОбороты.СуммаВнеБюджетОборот, 0)) КАК СуммаВнеБюджет,

    СУММА(1) КАК КоличествоМероприятий,

    ПланыМероприятийСрезПоследних.Мероприятие.ПризнакОбщейЗаявки КАК ЭтоОбщееМероприятие

ПОМЕСТИТЬ ВыборкаМеропритий

ИЗ

    РегистрСведений.ПланыМероприятий.СрезПоследних(

            ,

            Мероприятие.НачалоПроведенияМероприятия МЕЖДУ &ДатаНачала И &ДатаОкончания

                И (Год МЕЖДУ НАЧАЛОПЕРИОДА(&Год, ГОД) И КОНЕЦПЕРИОДА(&Год, ГОД))) КАК ПланыМероприятийСрезПоследних

        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.СуммаМероприятия.Обороты(, , , Год = НАЧАЛОПЕРИОДА(&Год, ГОД)) КАК СуммаМероприятияОбороты

        ПО ПланыМероприятийСрезПоследних.Мероприятие = СуммаМероприятияОбороты.Мероприятие

            И ПланыМероприятийСрезПоследних.Год = СуммаМероприятияОбороты.Год

ГДЕ

    ПланыМероприятийСрезПоследних.Мероприятие.ПризнакОбщейЗаявки = &П

СГРУППИРОВАТЬ ПО

    ПланыМероприятийСрезПоследних.Мероприятие,

    ПланыМероприятийСрезПоследних.КБК,

    ПланыМероприятийСрезПоследних.Департамент,

    ПланыМероприятийСрезПоследних.Мероприятие.ПризнакОбщейЗаявки

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    ИсполнениеДоговоровОбороты.Договор КАК Договор,

    ИсполнениеДоговоровОбороты.МероприятиеДок КАК Мероприятие,

    СУММА(ЕСТЬNULL(ИсполнениеДоговоровОбороты.СуммаФБПриход, 0)) КАК СуммаОбязательств,

    СУММА(ЕСТЬNULL(ИсполнениеДоговоровОбороты.СуммаФБРасход, 0)) КАК СуммаРаспоряжений,

    СУММА(ЕСТЬNULL(ИсполнениеДоговоровОбороты.СуммаФБПриход — ИсполнениеДоговоровОбороты.СуммаФБРасход, 0)) КАК СуммаНесполненныхРаспоряжений,

    СУММА(1) КАК КоличествоДоговоров

ПОМЕСТИТЬ Договора

ИЗ

    РегистрНакопления.ИсполнениеДоговоров.Обороты(&ДатаНачала, &ДатаОкончания, , ОтчетныйПериод.ДатаНачала МЕЖДУ НАЧАЛОПЕРИОДА(&Год, ГОД) И КОНЕЦПЕРИОДА(&Год, ГОД)) КАК ИсполнениеДоговоровОбороты

        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыборкаМеропритий КАК ВыборкаМеропритий

        ПО ИсполнениеДоговоровОбороты.МероприятиеДок = ВыборкаМеропритий.Мероприятие

СГРУППИРОВАТЬ ПО

    ИсполнениеДоговоровОбороты.Договор,

    ИсполнениеДоговоровОбороты.МероприятиеДок

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    СУММА(ПлатежноеПоручение.СуммаДокумента) КАК СуммаДокумента,

    ПлатежноеПоручение.Договор КАК Договор

ПОМЕСТИТЬ Платежки

ИЗ

    Документ.ПлатежноеПоручение КАК ПлатежноеПоручение

        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Договора КАК Договора

        ПО ПлатежноеПоручение.Договор = Договора.Договор

СГРУППИРОВАТЬ ПО

    ПлатежноеПоручение.Договор

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    ВыборкаМеропритий.Мероприятие КАК Мероприятие,

    ВыборкаМеропритий.КБК КАК КБК,

    СУММА(ВыборкаМеропритий.СуммаФБ) КАК СуммаФБ,

    СУММА(ВыборкаМеропритий.СуммаСФ) КАК СуммаСФ,

    СУММА(ВыборкаМеропритий.СуммаВнеБюджет) КАК СуммаВнеБюджет,

    ВыборкаМеропритий.Департамент КАК Департамент,

    СУММА(ВЫБОР

            КОГДА Договора.СуммаОбязательств ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ Договора.СуммаОбязательств

        КОНЕЦ) КАК СуммаОбязательства,

    СУММА(ВыборкаМеропритий.СуммаФБ — ЕСТЬNULL(Договора.СуммаОбязательств, 0)) КАК СуммаБезДоговора,

    СУММА(ВЫБОР

            КОГДА Договора.СуммаРаспоряжений ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ Договора.СуммаРаспоряжений

        КОНЕЦ) КАК СуммаРаспоряжения,

    СУММА(ВЫБОР

            КОГДА Договора.СуммаНесполненныхРаспоряжений ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ Договора.СуммаНесполненныхРаспоряжений

        КОНЕЦ) КАК СуммаНесполненныхРаспоряжений,

    СУММА(ВыборкаМеропритий.КоличествоМероприятий) КАК КоличествоМероприятий,

    СУММА(ВЫБОР

            КОГДА Договора.КоличествоДоговоров ЕСТЬ NULL

                ТОГДА 0

            ИНАЧЕ 1

        КОНЕЦ) КАК КоличествоДоговоров,

    СУММА(ЕСТЬNULL(Платежки.СуммаДокумента, 0)) КАК СуммаПлатежки

ПОМЕСТИТЬ ОбщаяТаблица

ИЗ

    ВыборкаМеропритий КАК ВыборкаМеропритий

        ПОЛНОЕ СОЕДИНЕНИЕ Договора КАК Договора

            ПОЛНОЕ СОЕДИНЕНИЕ Платежки КАК Платежки

            ПО Договора.Договор = Платежки.Договор

        ПО ВыборкаМеропритий.Мероприятие = Договора.Мероприятие

ГДЕ

    ЕСТЬNULL(ВыборкаМеропритий.ЭтоОбщееМероприятие, 0) = &П

СГРУППИРОВАТЬ ПО

    ВыборкаМеропритий.Департамент,

    ВыборкаМеропритий.Мероприятие,

    ВыборкаМеропритий.КБК,

    ВыборкаМеропритий.ЭтоОбщееМероприятие

ИНДЕКСИРОВАТЬ ПО

    Мероприятие

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

    ОбщаяТаблица.Мероприятие КАК Мероприятие,

    ОбщаяТаблица.КБК КАК КБК,

    СУММА(ОбщаяТаблица.СуммаФБ) КАК СуммаФБ,

    СУММА(ОбщаяТаблица.СуммаСФ) КАК СуммаСФ,

    СУММА(ОбщаяТаблица.СуммаВнеБюджет) КАК СуммаВнеБюджет,

    ОбщаяТаблица.Департамент КАК Департамент,

    СУММА(ОбщаяТаблица.СуммаОбязательства) КАК СуммаОбязательства,

    СУММА(ОбщаяТаблица.СуммаБезДоговора) КАК СуммаБезДоговора,

    СУММА(ОбщаяТаблица.СуммаРаспоряжения) КАК СуммаРаспоряжения,

    СУММА(ОбщаяТаблица.СуммаНесполненныхРаспоряжений) КАК СуммаНесполненныхРаспоряжений,

    СУММА(ОбщаяТаблица.КоличествоМероприятий) КАК КоличествоМероприятий,

    СУММА(ОбщаяТаблица.КоличествоДоговоров) КАК КоличествоДоговоров,

    СУММА(ОбщаяТаблица.СуммаПлатежки) КАК СуммаПлатежки,

    СРЕДНЕЕ(ВЫБОР

            КОГДА ОбщаяТаблица.СуммаОбязательства > 0

                ТОГДА ОбщаяТаблица.СуммаОбязательства * ОбщаяТаблица.СуммаФБ * 100

            ИНАЧЕ 0

        КОНЕЦ) КАК СуммаЗаключенныхДоговоровПроцент,

    СРЕДНЕЕ(ВЫБОР

            КОГДА ОбщаяТаблица.СуммаФБ <> 0

                ТОГДА ОбщаяТаблица.СуммаПлатежки * ОбщаяТаблица.СуммаФБ * 100

            ИНАЧЕ 0

        КОНЕЦ) КАК СуммаПеречисленийПроцент,

    СУММА(ОбщаяТаблица.СуммаФБ — ОбщаяТаблица.СуммаПлатежки) КАК НедоперечисленоПоПлану,

    СРЕДНЕЕ(ВЫБОР

            КОГДА ОбщаяТаблица.СуммаОбязательства <> 0

                ТОГДА ОбщаяТаблица.СуммаПлатежки * ОбщаяТаблица.СуммаОбязательства * 100

            ИНАЧЕ 0

        КОНЕЦ) КАК СуммаПеречисленийПроцентКДоговору,

    СУММА(ОбщаяТаблица.СуммаОбязательства — ОбщаяТаблица.СуммаПлатежки) КАК НедоперечисленноПоДоговору,

    ОбщаяТаблица.Департамент.Наименование КАК ДепартаментНаименование,

    ОбщаяТаблица.КБК.Код КАК КБККод,

    ОбщаяТаблица.КБК.Наименование КАК КБКНаименование,

    ОбщаяТаблица.КБК.Родитель.Наименование КАК КБКРодительНаименование,

    ОбщаяТаблица.Мероприятие.Дата КАК МероприятиеДата

ИЗ

    ОбщаяТаблица КАК ОбщаяТаблица

СГРУППИРОВАТЬ ПО

    ОбщаяТаблица.Департамент,

    ОбщаяТаблица.КБК,

    ОбщаяТаблица.Мероприятие

   MrStomak

21 — 23.06.16 — 19:33

(20) Это ты не выловил.

Запрос из макета в качестве параметров содержит &П,&П2,&П3 и т.д.

А у тебя запрос из схемы

   sooo_ez

22 — 28.06.16 — 09:13

Решилось выгрузкой данного отчета в новый.

Сиквел обрабатывал старый запрос которого уже в природе не существовало давно

  

sooo_ez

23 — 29.06.16 — 14:21

Не, не решилось, пришлось работать в другой базе

Понравилась статья? Поделить с друзьями:
  • Не обновляются танки ошибка 3012
  • Не обновляются танки ошибка 2005
  • Не обновляется телевизор philips пишет ошибка
  • Не обновляется приложения в microsoft store ошибка
  • Не могу форматировать флешку ошибка