24.07.12 — 10:38
В запросе есть поле с таким выражением:
ВЫБОР
КОГДА ПартииТоваровНаСкладахОбороты.КоличествоРасход <> 0
ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
ИНАЧЕ 0
КОНЕЦ
При выполнении все равно ругается на деление на 0. Я что то не так сделал?
1 — 24.07.12 — 10:39
Весь запрос покажи
2 — 24.07.12 — 10:40
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Количество,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
КОНЕЦ КАК СНДС,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ КАК БезНДС,
РеализацияТоваровУслугТовары.Ссылка,
ВЫБОР
КОГДА ПартииТоваровНаСкладахОбороты.КоличествоРасход <> 0
ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
ИНАЧЕ 0
КОНЕЦ КАК Себестоимость,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ВаловаяПрибыль,
(ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход) / ПартииТоваровНаСкладахОбороты.СтоимостьРасход * 100 КАК Эффективность,
РеализацияТоваровУслугТовары.Склад,
РеализацияТоваровУслугТовары.Ссылка.Организация,
РеализацияТоваровУслугТовары.Ссылка.Подразделение,
РеализацияТоваровУслугТовары.Ссылка.Контрагент
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК ПартииТоваровНаСкладахОбороты
ПО РеализацияТоваровУслугТовары.Номенклатура = ПартииТоваровНаСкладахОбороты.Номенклатура
И РеализацияТоваровУслугТовары.Склад = ПартииТоваровНаСкладахОбороты.Склад
И РеализацияТоваровУслугТовары.Ссылка = ПартииТоваровНаСкладахОбороты.Регистратор
ГДЕ
РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
3 — 24.07.12 — 10:40
(0)скобки расставь
4 — 24.07.12 — 10:40
(0) Возможно здесь : РеализацияТоваровУслугТовары.Количество тоже «0».
5 — 24.07.12 — 10:40
(0) Может тебя ещё и ПартииТоваровНаСкладахОбороты.КоличествоРасход = NULL?
6 — 24.07.12 — 10:40
ПартииТоваровНаСкладахОбороты.СтоимостьРасход
7 — 24.07.12 — 10:40
+ (2) это все в СКД
8 — 24.07.12 — 10:43
(7) ну там ниже еще вторая операция деления. Для нее тебе влом на 0 проверять?
9 — 24.07.12 — 10:43
Так тоже деление на 0:
ВЫБОР
КОГДА ПартииТоваровНаСкладахОбороты.КоличествоРасход <> 0
И ПартииТоваровНаСкладахОбороты.КоличествоРасход <> NULL
ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
ИНАЧЕ 0
КОНЕЦ
10 — 24.07.12 — 10:43
ВЫБОР
КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоРасход, 0) = 0
ТОГДА 0
ИНАЧЕ
ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
КОНЕЦ КАК Себестоимость,
11 — 24.07.12 — 10:43
(ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход) / ПартииТоваровНаСкладахОбороты.СтоимостьРасход * 100 КАК Эффективность
12 — 24.07.12 — 10:43
(9) Кто ж так на NULL проверяет. Смотри (10)
13 — 24.07.12 — 10:44
+(11) здесь нет проверки на ноль
14 — 24.07.12 — 10:44
(8) Ошибка появилась, когда я именно это деление добавил
15 — 24.07.12 — 10:44
а причем тут скд? просто ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество где то равно нулю. проверяй все произведение на ноль
16 — 24.07.12 — 10:46
можно просто скобки дописать (а/в)*с
17 — 24.07.12 — 10:47
(15) РеализацияТоваровУслугТовары.Количество в числителе, если что.
18 — 24.07.12 — 10:48
ага. гоню 
19 — 24.07.12 — 10:49
ВЫБОР
КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоРасход, 0) = 0
ТОГДА 0
ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
КОНЕЦ
так тоже не хочет. А как лучше во втором делении на 0 проверить?
20 — 24.07.12 — 10:50
(19) Ошибки деления на 0 здесь не может в принципе. Какое еще второе деление ?
21 — 24.07.12 — 10:51
(0)
Может не на это поле ругается?
22 — 24.07.12 — 10:51
(19) точно также
23 — 24.07.12 — 10:51
(20) ниже там еще одно деление есть, но раньше работало, вот это деление добавил и теперь:
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных «НаборДанных1»
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric
24 — 24.07.12 — 10:53
(23)
Наверняка на второе ругается. Ты ж там на ноль и нул не проверяешь
25 — 24.07.12 — 10:53
Вот щас весь запрос:
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Количество,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
КОНЕЦ КАК СНДС,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ КАК БезНДС,
РеализацияТоваровУслугТовары.Ссылка,
ВЫБОР
КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоРасход, 0) = 0
ТОГДА 0
ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
КОНЕЦ КАК Себестоимость,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ВаловаяПрибыль,
(ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход) / ПартииТоваровНаСкладахОбороты.СтоимостьРасход * 100 КАК Эффективность,
РеализацияТоваровУслугТовары.Склад,
РеализацияТоваровУслугТовары.Ссылка.Организация,
РеализацияТоваровУслугТовары.Ссылка.Подразделение,
РеализацияТоваровУслугТовары.Ссылка.Контрагент
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК ПартииТоваровНаСкладахОбороты
ПО РеализацияТоваровУслугТовары.Номенклатура = ПартииТоваровНаСкладахОбороты.Номенклатура
И РеализацияТоваровУслугТовары.Склад = ПартииТоваровНаСкладахОбороты.Склад
И РеализацияТоваровУслугТовары.Ссылка = ПартииТоваровНаСкладахОбороты.Регистратор
ГДЕ
РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
на что еще ругаться может?
26 — 24.07.12 — 10:54
У тебя 2 операции деления — неужели так сложно определить ?
27 — 24.07.12 — 10:54
ну епта
(ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход) / ПартииТоваровНаСкладахОбороты.СтоимостьРасход * 100 КАК Эффективность,
28 — 24.07.12 — 10:55
(24) щас сделал вот так:
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Количество,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
КОНЕЦ КАК СНДС,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ КАК БезНДС,
РеализацияТоваровУслугТовары.Ссылка,
ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК Себестоимость,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ВаловаяПрибыль,
(ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход) / ПартииТоваровНаСкладахОбороты.СтоимостьРасход * 100 КАК Эффективность,
РеализацияТоваровУслугТовары.Склад,
РеализацияТоваровУслугТовары.Ссылка.Организация,
РеализацияТоваровУслугТовары.Ссылка.Подразделение,
РеализацияТоваровУслугТовары.Ссылка.Контрагент
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК ПартииТоваровНаСкладахОбороты
ПО РеализацияТоваровУслугТовары.Номенклатура = ПартииТоваровНаСкладахОбороты.Номенклатура
И РеализацияТоваровУслугТовары.Склад = ПартииТоваровНаСкладахОбороты.Склад
И РеализацияТоваровУслугТовары.Ссылка = ПартииТоваровНаСкладахОбороты.Регистратор
ГДЕ
РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
все работает.
29 — 24.07.12 — 10:56
(27) Подскжите, пожалуйста, как тут проверку на 0 лучше поставить, я вставлю. Но по моему не в этом проблема.
30 — 24.07.12 — 10:57
(29) Это точно — проблема не в этом
31 — 24.07.12 — 11:04
(28)
И какая у тебя эффективность в результате?
32 — 24.07.12 — 11:08
33 — 24.07.12 — 11:27
Твой запрос в (25) в конструктор проваливается?
34 — 24.07.12 — 11:38
(33) Да, запросы делаю конструктором в основном, если что то руками дописываю, всегда конструктором открываю для проверки и выравнивания.
35 — 24.07.12 — 11:47
ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
Из чего следует, что РеализацияТоваровУслугТовары.Количество=0 в каком-то документе.
Попробуй умножение убрать.
36 — 24.07.12 — 11:53
(35) Деление же первым выполниться должно, потом на 0 можно и умножить. Но щас попробую уберу.
37 — 24.07.12 — 11:57
(35) Вот так:
ВЫБОР
КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоРасход, 0) = 0
ТОГДА 0
ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход
КОНЕЦ
тоже ошибка
38 — 24.07.12 — 11:58
(19)
а так?
ВЫБОР
КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество, 0) = 0
ТОГДА 0
ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
КОНЕЦ
Zombi
39 — 24.07.12 — 12:33
Сделал все таки проверку во втором делении, все заработало. Странно как раньше работало.
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Количество,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
КОНЕЦ КАК СНДС,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ КАК БезНДС,
РеализацияТоваровУслугТовары.Ссылка,
ВЫБОР
КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.КоличествоРасход, 0) = 0
ТОГДА 0
ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход / ПартииТоваровНаСкладахОбороты.КоличествоРасход * РеализацияТоваровУслугТовары.Количество
КОНЕЦ КАК Себестоимость,
ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ВаловаяПрибыль,
ВЫБОР
КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.СтоимостьРасход, 0) = 0
ТОГДА 0
ИНАЧЕ (ВЫБОР
КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
ТОГДА РеализацияТоваровУслугТовары.Сумма — РеализацияТоваровУслугТовары.СуммаНДС
ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
КОНЕЦ — ПартииТоваровНаСкладахОбороты.СтоимостьРасход) / ПартииТоваровНаСкладахОбороты.СтоимостьРасход * 100
КОНЕЦ КАК Эффективность,
РеализацияТоваровУслугТовары.Склад,
РеализацияТоваровУслугТовары.Ссылка.Организация,
РеализацияТоваровУслугТовары.Ссылка.Подразделение,
РеализацияТоваровУслугТовары.Ссылка.Контрагент
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК ПартииТоваровНаСкладахОбороты
ПО РеализацияТоваровУслугТовары.Номенклатура = ПартииТоваровНаСкладахОбороты.Номенклатура
И РеализацияТоваровУслугТовары.Склад = ПартииТоваровНаСкладахОбороты.Склад
И РеализацияТоваровУслугТовары.Ссылка = ПартииТоваровНаСкладахОбороты.Регистратор
ГДЕ
РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
+3
Это сообщение возникает в том случае, если в алгоритме конфигурации Используется деление и не выполняется проверка значения делителя. Обычно эта ошибка возникает из-за того, что не заполнены какие-либо данные (сумма, количество, коэффициенты и т.п.). Необходимые для работы алгоритма данные должны быть заполнены, например, в документе или справочнике, элемент которого выбран в документе. Обычно эта проблема решается вводом необходимых для работы алгоритма данных и повторным запуском алгоритма (формирования отчета или проведения документов).
Решение:
в коде
Код 1C v 8.х
//Просто проверка на то что Делитель не равен 0
Если Число(ШиринаБумаги) <> 0 Тогда
КолвоБумСПриладкой = КолвоБумаги / Число(ШиринаБумаги);
КонецЕсли;
в запросе:
Код 1C v 8.х
ВЫБОР
КОГДА ПартииТоваровНаСкладахОстатки.КоличествоОстаток = 0 ТОГДА 0
ИНАЧЕ ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток / ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 0)
КОНЕЦ КАК Себестоимость
-
Пришла на предприятие, тут же посадили исправлять ошибку сделанную прошлым программистом, я в программировании 1с невзубногой, думала почитаю — разберусь, а не тут то было.
В общем по теме.
Директору нужно было изменить один из отчетов. а именно — Запасы (склад) —> стоимостная оценка склада в ценах номенклатуры. Программист постарался, наделал ошибок и исчез.
в оперативном режиме (остатки) все действует шикарно, а вот в не оперативном, (остатки и себестоимость) выдает ошибку деления на 0.с вот таким текстом:
«{Отчет.УниверсальныйОтчет.МодульОбъекта(86)}: Ошибка при вызове метода контекста (Вывести)
ПостроительОтчета.Вывести(ТабличныйДокумент);
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric«Буду очень благодарна, если кто-нибудь сможет оказать помощь :unsure:
Наверняка нужно добавить проверку, да вот только я не пойму в каком месте о.о»
Прикреплю кусок кода, если кто-либо сможет глянуть :unsure: -
Offline
mialord
Модераторы
Команда форума
Модератор- Регистрация:
- 31 июл 2009
- Сообщения:
- 5.460
- Симпатии:
- 53
- Баллы:
- 54
Проверку нужно добавлять в запросе
Пример:ВЫБОР КОГДА Регистр.Количество = 0 ТОГДА 0 ИНАЧЕ //тут расчет КОНЕЦ
Это не конкретно к Вашему отчету, это принцип исключения ошибки
-
Спасибо, сейчас попробую.
Не понятно что вообще эту ошибку вызывает о.о
Не заполненная строка типа цены, присваивается к нулю, и при делении на нее происходит ошибка, может быть такое? -
Offline
leemuar
Опытный в 1С- Регистрация:
- 21 окт 2010
- Сообщения:
- 310
- Симпатии:
- 0
- Баллы:
- 26
Вы же сами написали — «берется ноль и на него делится», как думаете, такое может быть?
-
я имела ввиду когда поле не заполнено оно присваивается к нулю, или же нет и где-то в коде указано это присваивание
-
Offline
leemuar
Опытный в 1С- Регистрация:
- 21 окт 2010
- Сообщения:
- 310
- Симпатии:
- 0
- Баллы:
- 26
Да, конечно. В вашем случае это происходит в запросе. Посмотрите текст выполняемого запроса, найдите там операции деления и перепишите их как указал mialord.
-
:unsure: Сейчас посмотрим
-
Операций деления больше 15 продублированные по 3 раза :unsure:
-
Offline
x_under
Модераторы
Команда форума
Модератор- Регистрация:
- 25 апр 2007
- Сообщения:
- 2.576
- Симпатии:
- 16
- Баллы:
- 29
А сделайте просто отчет «Ведомость по партиям товаров на складах» и посмотрите нет ли в нем строк, где количество нулевое, а сумма — нет.
возможно там захотели сделать вывод цены, а ситуацию с делением (как я указал выше) не отловили. -
Да, действительно в конечном остатке не было указанно количество товара в некоторых строках, а стоимость была.
Ошибка происходила при расчете Наценки единицы товара.
Большое спасибо, все получилось *-* -
Offline
tonatiuh
- Регистрация:
- 19 ноя 2012
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
Доброго времени суток. У меня точно такая же ошибка при создании отчета валовая прибыль. Перечитал уже этот пост несколько раз и не могу понять куда дописать что бы все заработало.
Проверку нужно добавлять в запросе
Пример:ВЫБОР КОГДА Регистр.Количество = 0 ТОГДА
0
ИНАЧЕ
//тут расчетКОНЕЦ
Можете написать поподробней куда нужно этот код дописать?
Буду очень благодарен. -
Offline
Tiger86
Модераторы
Команда форума
Модератор- Регистрация:
- 24 мар 2011
- Сообщения:
- 6.407
- Симпатии:
- 108
- Баллы:
- 104
надо посмотреть, какое поле в запросе может быть 0 (раз ошибка возникает «деление на 0», тогда смотрите именно то поле, на которое делите). Наугад трудно сказать куда вам проверку в запросе поставить
З.Ы. пользуйтесь тегами для оформления кода — удобнее для чтения
-
Offline
tonatiuh
- Регистрация:
- 19 ноя 2012
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
Не подскажете, как можно посмотреть какое поле в запросе может быть 0? Где запрос смотреть? Отчет, валовая прибыль и там в модуле объекта Процедура УстановитьНачальныеНастройки? или я вообще не там ищу? А если там то как правильно все сделать?
-
Offline
Tiger86
Модераторы
Команда форума
Модератор- Регистрация:
- 24 мар 2011
- Сообщения:
- 6.407
- Симпатии:
- 108
- Баллы:
- 104
а в модуле больше никаких процедур нет? по идее должен быть какой-то алгоритм выборки данных
-
Offline
tonatiuh
- Регистрация:
- 19 ноя 2012
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапрос.Организация КАК Организация, | ВложенныйЗапрос.Проект КАК Проект, | ВложенныйЗапрос.Подразделение КАК Подразделение, | ВложенныйЗапрос.Покупатель КАК Покупатель, | ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Организация) КАК ОрганизацияПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Проект) КАК ПроектПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Подразделение) КАК ПодразделениеПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Покупатель) КАК ПокупательПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДоговорПокупателя) КАК ДоговорПокупателяПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ЗаказПокупателя) КАК ЗаказПокупателяПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Регистратор) КАК РегистраторПредставление, | ВложенныйЗапрос.Период КАК Период, | ВложенныйЗапрос.ПериодДень КАК ПериодДень, | ВложенныйЗапрос.ПериодНеделя КАК ПериодНеделя, | ВложенныйЗапрос.ПериодДекада КАК ПериодДекада, | ВложенныйЗапрос.ПериодМесяц КАК ПериодМесяц, | ВложенныйЗапрос.ПериодКвартал КАК ПериодКвартал, | ВложенныйЗапрос.ПериодПолугодие КАК ПериодПолугодие, | ВложенныйЗапрос.ПериодГод КАК ПериодГод, | ВложенныйЗапрос.Количество КАК Количество, | ВложенныйЗапрос.КоличествоЕдиницОтчетов КАК КоличествоЕдиницОтчетов, | ВложенныйЗапрос.КоличествоБазовыхЕдиниц КАК КоличествоБазовыхЕдиниц, | ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС, | ВложенныйЗапрос.НДС КАК НДС, | ВложенныйЗапрос.Стоимость КАК Стоимость, | ВложенныйЗапрос.Себестоимость КАК Себестоимость, | ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль, | ВложенныйЗапрос.Эффективность КАК Эффективность, | ВложенныйЗапрос.Рентабельность КАК Рентабельность | //ПОЛЯ_СВОЙСТВА | //ПОЛЯ_КАТЕГОРИИ |{ВЫБРАТЬ | Организация.*, | Проект.*, | Подразделение.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | Количество, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕдиниц, | СтоимостьБезНДС, | НДС, | Стоимость, | Себестоимость, | ВаловаяПрибыль, | Эффективность, | Рентабельность | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ |} |ИЗ | (ВЫБРАТЬ | ВложенныйЗапрос.Организация КАК Организация, | ВложенныйЗапрос.Проект КАК Проект, | ВложенныйЗапрос.Подразделение КАК Подразделение, | ВложенныйЗапрос.Покупатель КАК Покупатель, | ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ВложенныйЗапрос.Период КАК Период, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод, | СУММА(ВложенныйЗапрос.Количество) КАК Количество, | СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов, | СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц, | СУММА(ВложенныйЗапрос.СтоимостьБезНДС) КАК СтоимостьБезНДС, | СУММА(ВложенныйЗапрос.НДС) КАК НДС, | СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость, | СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость, | ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) | ИНАЧЕ СУММА(ВложенныйЗапрос.Стоимость) | КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Эффективность, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.СтоимостьБезНДС) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Стоимость) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Стоимость) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Рентабельность | {ВЫБРАТЬ | Организация, | Проект, | Подразделение, | Покупатель, | ДоговорПокупателя, | Номенклатура, | ХарактеристикаНоменклатуры, | ЗаказПокупателя, | Регистратор, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} | ИЗ | (ВЫБРАТЬ | ПродажиОбороты.Проект КАК Проект, | ПродажиОбороты.Подразделение КАК Подразделение, | ПродажиОбороты.Контрагент КАК Покупатель, | ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя, | ПродажиОбороты.Номенклатура КАК Номенклатура, | ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя, | ПродажиОбороты.Организация КАК Организация, | ПродажиОбороты.Регистратор КАК Регистратор, | ПродажиОбороты.Период КАК Период, | ПродажиОбороты.КоличествоОборот КАК Количество, | ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов, | ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц, | ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС, | ПродажиОбороты.НДСОборот КАК НДС, | ПродажиОбороты.СтоимостьОборот КАК Стоимость, | ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) КАК Себестоимость | ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {Организация.* КАК Организация, Проект.* КАК Проект, Подразделение.* КАК Подразделение, Контрагент.* КАК Покупатель, ДоговорКонтрагента.* КАК ДоговорПокупателя, Номенклатура.* КАК Номенклатура, ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ЗаказПокупателя.* КАК ЗаказПокупателя}) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПродажиСебестоимость.Номенклатура КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ КАК Регистратор, | СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот | ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | ГДЕ | ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца | {ГДЕ | ПродажиСебестоимость.Проект.* КАК Проект, | ПродажиСебестоимость.Подразделение.* КАК Подразделение, | ПродажиСебестоимость.Номенклатура.* КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя} | | СГРУППИРОВАТЬ ПО | ПродажиСебестоимость.Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость | ПО ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура | И ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры | И ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя | И ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор) КАК ВложенныйЗапрос | | СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Организация, | ВложенныйЗапрос.Проект, | ВложенныйЗапрос.Подразделение, | ВложенныйЗапрос.Покупатель, | ВложенныйЗапрос.ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя, | ВложенныйЗапрос.Регистратор, | ВложенныйЗапрос.Период | | ИМЕЮЩИЕ | (СУММА(ВложенныйЗапрос.Количество) <> 0 | ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0 | ИЛИ СУММА(ЕСТЬNULL(ВложенныйЗапрос.Себестоимость, 0)) <> 0)) КАК ВложенныйЗапрос | //СОЕДИНЕНИЯ |{ГДЕ | ВложенныйЗапрос.Регистратор.*, | ВложенныйЗапрос.Период, | ВложенныйЗапрос.ПериодДень, | ВложенныйЗапрос.ПериодНеделя, | ВложенныйЗапрос.ПериодДекада, | ВложенныйЗапрос.ПериодМесяц, | ВложенныйЗапрос.ПериодКвартал, | ВложенныйЗапрос.ПериодПолугодие, | ВложенныйЗапрос.ПериодГод, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.КоличествоЕдиницОтчетов, | ВложенныйЗапрос.КоличествоБазовыхЕдиниц, | ВложенныйЗапрос.СтоимостьБезНДС, | ВложенныйЗапрос.НДС, | ВложенныйЗапрос.Стоимость, | ВложенныйЗапрос.Себестоимость, | ВложенныйЗапрос.ВаловаяПрибыль, | ВложенныйЗапрос.Эффективность, | ВложенныйЗапрос.Рентабельность | //УСЛОВИЯ_СВОЙСТВА | //УСЛОВИЯ_КАТЕГОРИИ |} |{УПОРЯДОЧИТЬ ПО | Организация.*, | Проект.*, | Подразделение.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | Количество, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕдиниц, | СтоимостьБезНДС, | НДС, | Стоимость, | Себестоимость, | ВаловаяПрибыль, | Эффективность, | Рентабельность | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ |} |ИТОГИ | СУММА(Количество), | СУММА(КоличествоЕдиницОтчетов), | СУММА(КоличествоБазовыхЕдиниц), | СУММА(СтоимостьБезНДС), | СУММА(НДС), | СУММА(Стоимость), | СУММА(Себестоимость), | ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА СУММА(СтоимостьБезНДС) | ИНАЧЕ СУММА(Стоимость) | КОНЕЦ - СУММА(Себестоимость) КАК ВаловаяПрибыль, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(Себестоимость) <> 0 | ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(Себестоимость) <> 0 | ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Эффективность, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(СтоимостьБезНДС) <> 0 | ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(СтоимостьБезНДС) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(Стоимость) <> 0 | ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Стоимость) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Рентабельность | //ИТОГИ_СВОЙСТВА | //ИТОГИ_КАТЕГОРИИ |ПО | ОБЩИЕ |{ИТОГИ ПО | Организация.*, | Проект.*, | Подразделение.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ |}";извиняюсь… если это тут где то надо вставить проверку не подскажете где
-
Offline
Tiger86
Модераторы
Команда форума
Модератор- Регистрация:
- 24 мар 2011
- Сообщения:
- 6.407
- Симпатии:
- 108
- Баллы:
- 104
для начала, оформляйте код тегом КОД1С — удобнее читать
вы отладчиком умеете пользоваться?
-
Offline
tonatiuh
- Регистрация:
- 19 ноя 2012
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
-
Offline
Tiger86
Модераторы
Команда форума
Модератор- Регистрация:
- 24 мар 2011
- Сообщения:
- 6.407
- Симпатии:
- 108
- Баллы:
- 104
очень жаль, если кратко, то вот принцип: запускаете в конфигураторе, ищите «проблемное» по вашему мнению место, устанавливаете точку останова (напротив нужной строки слева можно щелкнуть, можно через меню установить), затем запускайте через F5 отладку, выполняете в реиме предприятия нужные действия, когда выполнение код адойдет до той самой строки, вас выбросит в конфигуратор и можно будет передвигаться по коды и смотреть изменения значений переменных (типа онлайн) Попробуйте так выяснить где у вас косячит, может дело то и не в запросе?
-
Offline
tonatiuh
- Регистрация:
- 19 ноя 2012
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
почитаю пока как пользоваться отладчиком
-
05.04.2023, 11:04
#1
Гость форума
Прошу помоч. Деление на 0 значения типа Numeric
Вот такая вот ошибка у меня, подскажите как исправить. Делаю заполнение «Сведения для реестра прямых выплат ФСС» , выбираю сотрудника и вот такая шляпа, и только у этого сотрудника , по все остальным проблем нет. Это в ЗУПе 3.1
Деление на 0 значения типа Numeric
{ОбщийМодуль.КадровыйУчет.� �одуль(3245)}: Запрос.Выполнить();
{ОбщийМодуль.КадровыйУчет.� �одуль(3155)}: СоздатьВТКадровыеДанныеСо трудников(ОписательВремен� �ыхТаблиц, ТолькоРазрешенные, КадровыеДанные, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{ОбщийМодуль.КадровыйУчет.� �одуль(90)}: СоздатьНаДатуВТКадровыеДа нныеСотрудников(Запрос.Мен еджерВременныхТаблиц, ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(870)}: ТЗКадровыеДанныеСотрудник а = КадровыйУчет.КадровыеДанн� �еСотрудников(Истина, ОбщегоНазначенияКлиентСер вер.ЗначениеВМассиве(Сотру дник), НеобходимыеКадровыеДанные Сотрудника, Дата);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(704)}: Если ЗаполнитьКадровыеДанныеСо трудника(ПараметрыФиксаци� �, РайонныйКоэффициентЗаполн енИзОснования) Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(840)}: Если ДокументОбъект.ОбновитьВт� �ричныеДанныеДокумента() Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(1194)}: ОбновитьВторичныеДанныеДо кумента();
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(611)}: ОтменитьИзмененияНаСервер е();по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric
-
Пользователь сказал cпасибо:
-
05.04.2023, 11:07
#2
Гость форума
Re: Прошу помоч. Деление на 0 значения типа Numeric
Деление на 0 значения типа Numeric
{ОбщийМодуль.КадровыйУчет.� �одуль(3245)}: Запрос.Выполнить();
{ОбщийМодуль.КадровыйУчет.� �одуль(3155)}: СоздатьВТКадровыеДанныеСо трудников(ОписательВремен� �ыхТаблиц, ТолькоРазрешенные, КадровыеДанные, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{ОбщийМодуль.КадровыйУчет.� �одуль(90)}: СоздатьНаДатуВТКадровыеДа нныеСотрудников(Запрос.Мен еджерВременныхТаблиц, ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(870)}: ТЗКадровыеДанныеСотрудник а = КадровыйУчет.КадровыеДанн� �еСотрудников(Истина, ОбщегоНазначенияКлиентСер вер.ЗначениеВМассиве(Сотру дник), НеобходимыеКадровыеДанные Сотрудника, Дата);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(704)}: Если ЗаполнитьКадровыеДанныеСо трудника(ПараметрыФиксаци� �, РайонныйКоэффициентЗаполн енИзОснования) Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(840)}: Если ДокументОбъект.ОбновитьВт� �ричныеДанныеДокумента() Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(1194)}: ОбновитьВторичныеДанныеДо кумента();
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(611)}: ОтменитьИзмененияНаСервер е();по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric
-
Пользователь сказал cпасибо:
-
06.04.2023, 06:55
#3
Re: Прошу помоч. Деление на 0 значения типа Numeric
Сообщение от McTR
Вот такая вот ошибка у меня, подскажите как исправить. Делаю заполнение «Сведения для реестра прямых выплат ФСС» , выбираю сотрудника и вот такая шляпа, и только у этого сотрудника , по все остальным проблем нет. Это в ЗУПе 3.1
Деление на 0 значения типа Numeric
{ОбщийМодуль.КадровыйУчет.� �одуль(3245)}: Запрос.Выполнить();
{ОбщийМодуль.КадровыйУчет.� �одуль(3155)}: СоздатьВТКадровыеДанныеСо трудников(ОписательВремен� �ыхТаблиц, ТолькоРазрешенные, КадровыеДанные, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{ОбщийМодуль.КадровыйУчет.� �одуль(90)}: СоздатьНаДатуВТКадровыеДа нныеСотрудников(Запрос.Мен еджерВременныхТаблиц, ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(870)}: ТЗКадровыеДанныеСотрудник а = КадровыйУчет.КадровыеДанн� �еСотрудников(Истина, ОбщегоНазначенияКлиентСер вер.ЗначениеВМассиве(Сотру дник), НеобходимыеКадровыеДанные Сотрудника, Дата);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(704)}: Если ЗаполнитьКадровыеДанныеСо трудника(ПараметрыФиксаци� �, РайонныйКоэффициентЗаполн енИзОснования) Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(840)}: Если ДокументОбъект.ОбновитьВт� �ричныеДанныеДокумента() Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(1194)}: ОбновитьВторичныеДанныеДо кумента();
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(611)}: ОтменитьИзмененияНаСервер е();по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа NumericПроизводственный календарь в этом году заполняли?
Обновления УНФ, БП, УТ, КА, АА51, АА61, ЗиУП, Розница, Розница Аптека, Риэлтор
Обращайтесь в личку.
-
Пользователь сказал cпасибо:
-
06.04.2023, 06:56
#4
Re: Прошу помоч. Деление на 0 значения типа Numeric
Сообщение от McTR
Вот такая вот ошибка у меня, подскажите как исправить. Делаю заполнение «Сведения для реестра прямых выплат ФСС» , выбираю сотрудника и вот такая шляпа, и только у этого сотрудника , по все остальным проблем нет. Это в ЗУПе 3.1
Деление на 0 значения типа Numeric
{ОбщийМодуль.КадровыйУчет.� �одуль(3245)}: Запрос.Выполнить();
{ОбщийМодуль.КадровыйУчет.� �одуль(3155)}: СоздатьВТКадровыеДанныеСо трудников(ОписательВремен� �ыхТаблиц, ТолькоРазрешенные, КадровыеДанные, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{ОбщийМодуль.КадровыйУчет.� �одуль(90)}: СоздатьНаДатуВТКадровыеДа нныеСотрудников(Запрос.Мен еджерВременныхТаблиц, ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных, ПоляОтбораПериодическихДа нных, ФормироватьСПериодичность День);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(870)}: ТЗКадровыеДанныеСотрудник а = КадровыйУчет.КадровыеДанн� �еСотрудников(Истина, ОбщегоНазначенияКлиентСер вер.ЗначениеВМассиве(Сотру дник), НеобходимыеКадровыеДанные Сотрудника, Дата);
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Модул� �Объекта(704)}: Если ЗаполнитьКадровыеДанныеСо трудника(ПараметрыФиксаци� �, РайонныйКоэффициентЗаполн енИзОснования) Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(840)}: Если ДокументОбъект.ОбновитьВт� �ричныеДанныеДокумента() Тогда
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(1194)}: ОбновитьВторичныеДанныеДо кумента();
{Документ.ЗаявлениеСотрудн икаНаВыплатуПособия.Форма. ФормаДокумента.Форма(611)}: ОтменитьИзмененияНаСервер е();по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа NumericПроизводственный календарь в этом году заполняли?
частая проблема https://учетбеззабот.рф/mobile-rasch…programmakh-1sОбновления УНФ, БП, УТ, КА, АА51, АА61, ЗиУП, Розница, Розница Аптека, Риэлтор
Обращайтесь в личку.
-
Пользователь сказал cпасибо:
Похожие темы
-
Ответов: 2
Последнее сообщение: 02.03.2019, 13:23
-
Ответов: 6
Последнее сообщение: 21.08.2015, 08:34
-
Ответов: 5
Последнее сообщение: 18.04.2015, 11:20
-
Ответов: 0
Последнее сообщение: 08.02.2012, 09:40
-
Ответов: 2
Последнее сообщение: 02.04.2008, 22:03
Социальные закладки
Социальные закладки

Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
- BB коды Вкл.
- Смайлы Вкл.
- [IMG] код Вкл.
- [VIDEO] код Вкл.
- HTML код Выкл.
Правила форума
█ 07.03.2017 14:55
Доброе время суток.
Установили Розница 2.1.9.12 (сделаны некоторые изменения в конфигурации). Магазин работал некоторое время без проблем, был настроен автоматический расчет себестоимости. Автоматический расчет по разным причинам не рассчитывался, приходилось создавать документ расчета вручную. С 1-ого декабря прошлого года при создании документа расчета как вручную, так и регламентным заданием появляется ошибка (см. рис).
Пробовал найти причину ошибки с помощью отладчика и выяснил, что ошибка возникает при исполнении запроса в общем модуле ЗапасыСервер в функции ПоправкаПоСборкамТоваров.
В интернете читал, что проблему можно найти с помощью обработки Консоль Запросов, но не умею пока пользоваться чудом).
Подскажите как быть? куда копать?
█ 07.03.2017 17:58
В идеале — действительно копать в сторону отладчика и
То есть с помощью отладчика мы видим текст запроса (а зачастую — и параметры).
А с помощью консоли запросов — смотрим, а что у нас на самом деле происходит.
Можно попробовать бросить запрос сюда (если он не на СКД — то так даже проще будет).
█ 09.03.2017 12:14
Опытным путем, т.е. выпытыванием пользователей 
Вот текст запроса:
Запрос = Новый Запрос;
Код:
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ТаблицаПриемник", ТаблицаПриемник);
Запрос.Текст =
"ВЫБРАТЬ
| РезультатКомплект.Магазин,
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| РезультатКомплект.КоличествоКомплектов КАК КоличествоКомплектов,
| РезультатКомплект.Сумма
|ПОМЕСТИТЬ РезультатКомплект
|ИЗ
| &ТаблицаПриемник КАК РезультатКомплект
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СебестоимостьСоСборкой.Магазин,
| СебестоимостьСоСборкой.Номенклатура,
| СебестоимостьСоСборкой.Характеристика,
| СУММА(СебестоимостьСоСборкой.КоличествоПеремещение) КАК КоличествоПеремещение,
| СУММА(СебестоимостьСоСборкой.Количество) КАК Количество,
| СУММА(СебестоимостьСоСборкой.СуммаОборот) КАК СуммаОборот,
| СУММА(СебестоимостьСоСборкой.СуммаОборот) / СУММА(СебестоимостьСоСборкой.Количество) КАК Стоимость
|ИЗ
| (ВЫБРАТЬ
| СебестоимостьПоступлений.Магазин КАК Магазин,
| СебестоимостьПоступлений.Номенклатура КАК Номенклатура,
| СебестоимостьПоступлений.Характеристика КАК Характеристика,
| СебестоимостьПоступлений.КоличествоПеремещение КАК КоличествоПеремещение,
| СебестоимостьПоступлений.Количество КАК Количество,
| СебестоимостьПоступлений.СуммаОборот КАК СуммаОборот
| ИЗ
| СебестоимостьПоступлений КАК СебестоимостьПоступлений
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РезультатКомплект.Магазин,
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| 0,
| МАКСИМУМ(РезультатКомплект.КоличествоКомплектов),
| СУММА(РезультатКомплект.Сумма)
| ИЗ
| РезультатКомплект КАК РезультатКомплект
|
| СГРУППИРОВАТЬ ПО
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| РезультатКомплект.Магазин
|) КАК СебестоимостьСоСборкой
|
|СГРУППИРОВАТЬ ПО
| СебестоимостьСоСборкой.Магазин,
| СебестоимостьСоСборкой.Характеристика,
| СебестоимостьСоСборкой.Номенклатура";
Результат = Запрос.Выполнить().Выгрузить();
Возврат Результат;
█ 09.03.2017 13:15
Цитата:
СУММА(СебестоимостьСоСборкой.СуммаОборот) / СУММА(СебестоимостьСоСборкой.Количество) КАК Стоимость
Возможно количество 0, вот и падает.
Если Это так, то можно попробовать:
Цитата:
«ВЫБРАТЬ
| РезультатКомплект.Магазин,
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| РезультатКомплект.КоличествоКомплектов КАК КоличествоКомплектов,
| РезультатКомплект.Сумма
|ПОМЕСТИТЬ РезультатКомплект
|ИЗ
| &ТаблицаПриемник КАК РезультатКомплект
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СебестоимостьСоСборкой.Магазин,
| СебестоимостьСоСборкой.Номенклатура,
| СебестоимостьСоСборкой.Характеристика,
| СУММА(СебестоимостьСоСборкой.КоличествоПеремещение) КАК КоличествоПеремещение,
| СУММА(СебестоимостьСоСборкой.Количество) КАК Количество,
| СУММА(СебестоимостьСоСборкой.СуммаОборот) КАК СуммаОборот
| //СУММА(СебестоимостьСоСборкой.СуммаОборот) / СУММА(СебестоимостьСоСборкой.Количество) КАК Стоимость
| ПОМЕСТИТЬ вт
|ИЗ
| (ВЫБРАТЬ
| СебестоимостьПоступлений.Магазин КАК Магазин,
| СебестоимостьПоступлений.Номенклатура КАК Номенклатура,
| СебестоимостьПоступлений.Характеристика КАК Характеристика,
| СебестоимостьПоступлений.КоличествоПеремещение КАК КоличествоПеремещение,
| СебестоимостьПоступлений.Количество КАК Количество,
| СебестоимостьПоступлений.СуммаОборот КАК СуммаОборот
| ИЗ
| СебестоимостьПоступлений КАК СебестоимостьПоступлений
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РезультатКомплект.Магазин,
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| 0,
| МАКСИМУМ(РезультатКомплект.КоличествоКомплектов),
| СУММА(РезультатКомплект.Сумма)
| ИЗ
| РезультатКомплект КАК РезультатКомплект
|
| СГРУППИРОВАТЬ ПО
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| РезультатКомплект.Магазин
|) КАК СебестоимостьСоСборкой
|
|СГРУППИРОВАТЬ ПО
| СебестоимостьСоСборкой.Магазин,
| СебестоимостьСоСборкой.Характеристика,
| СебестоимостьСоСборкой.Номенклатура
|;
|ВЫБРАТЬ
| Магазин, Номенклатура, Характеристика,КоличествоПеремещение,Количество,СуммаОборот,
| ВЫБОР КОГДА Количество<>0 ТОГДА СуммаОборот/Количество ИНАЧЕ СуммаОборот КАК Стоимость
| ИЗ вт»;
█ 09.03.2017 13:32
Цитата:
Shift ➤ | //СУММА(СебестоимостьСоСборкой.СуммаОборот) / СУММА(СебестоимостьСоСборкой.Количество) КАК Стоимость
я пробовал вместо деления сделать операцию умножения, в итоге в документ загружаются позиции номенклатуры с нулевой себестоимостью.
█ 09.03.2017 13:36
Цитата:
Shift ➤ |ВЫБРАТЬ
| Магазин, Номенклатура, Характеристика,КоличествоПеремещение,Количество,СуммаОборот,
| ВЫБОР КОГДА Количество<>0 ТОГДА СуммаОборот/Количество ИНАЧЕ СуммаОборот КАК Стоимость
| ИЗ вт»;
я попробовал ваш запрос, но мне выдается ошибка см. рис
█ 09.03.2017 13:38
думаю проблема кроется не в количестве, а в том, что документы были проведены задним числом.
я писал выше:
Цитата:
Tigra_N ➤ последний расчет себестоимости проводился вручную и с изменением даты и времени на сервере. Изменили дату и время на последний день прошлого месяца и провели документ расчета себестоимости
█ 09.03.2017 14:49
Цитата:
Tigra_N ➤ Опытным путем, т.е. выпытыванием пользователей 
Вот текст запроса…
Поменять запрос на запрос с проверкой деления на 0
Код:
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ТаблицаПриемник", ТаблицаПриемник);
Запрос.Текст =
"ВЫБРАТЬ
| РезультатКомплект.Магазин,
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| РезультатКомплект.КоличествоКомплектов КАК КоличествоКомплектов,
| РезультатКомплект.Сумма
|ПОМЕСТИТЬ РезультатКомплект
|ИЗ
| &ТаблицаПриемник КАК РезультатКомплект
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СебестоимостьСоСборкой.Магазин,
| СебестоимостьСоСборкой.Номенклатура,
| СебестоимостьСоСборкой.Характеристика,
| СУММА(СебестоимостьСоСборкой.КоличествоПеремещение) КАК КоличествоПеремещение,
| СУММА(СебестоимостьСоСборкой.Количество) КАК Количество,
| СУММА(СебестоимостьСоСборкой.СуммаОборот) КАК СуммаОборот,
| ВЫБОР КОГДА СУММА(СебестоимостьСоСборкой.Количество) <> 0 ТОГДА
| СУММА(СебестоимостьСоСборкой.СуммаОборот) / СУММА(СебестоимостьСоСборкой.Количество)
| ИНАЧЕ 0 КАК Стоимость
|ИЗ
| (ВЫБРАТЬ
| СебестоимостьПоступлений.Магазин КАК Магазин,
| СебестоимостьПоступлений.Номенклатура КАК Номенклатура,
| СебестоимостьПоступлений.Характеристика КАК Характеристика,
| СебестоимостьПоступлений.КоличествоПеремещение КАК КоличествоПеремещение,
| СебестоимостьПоступлений.Количество КАК Количество,
| СебестоимостьПоступлений.СуммаОборот КАК СуммаОборот
| ИЗ
| СебестоимостьПоступлений КАК СебестоимостьПоступлений
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РезультатКомплект.Магазин,
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| 0,
| МАКСИМУМ(РезультатКомплект.КоличествоКомплектов),
| СУММА(РезультатКомплект.Сумма)
| ИЗ
| РезультатКомплект КАК РезультатКомплект
|
| СГРУППИРОВАТЬ ПО
| РезультатКомплект.Номенклатура,
| РезультатКомплект.Характеристика,
| РезультатКомплект.Магазин
|) КАК СебестоимостьСоСборкой
|
|СГРУППИРОВАТЬ ПО
| СебестоимостьСоСборкой.Магазин,
| СебестоимостьСоСборкой.Характеристика,
| СебестоимостьСоСборкой.Номенклатура";
Результат = Запрос.Выполнить().Выгрузить();
Возврат Результат;
█ 09.03.2017 14:51
И ещё — в отладчике имеет смысл посмотреть на содержимое таблицы ТаблицаПриемник
█ 09.03.2017 16:12
По поводу ошибки, перед «КАК Стоимость» забыл «КОНЕЦ» поставить, должно быть: «КОНЕЦ КАК Стоимость».
Часовой пояс GMT +3, время: 21:10.
Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.


