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

Автор Тема: Помогите разобраться с ошибкой в коде  (Прочитано 1524 раз)

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

Оффлайн The

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Ученик 1С
Приветствую! :bleh:

Я только-только начал разбираться с 1С и тут проблема. 1С используется 8.2
При выполнении действия выскакивает ошибка:
Цитировать
{ОбщийМодуль.Ценообразование.Модуль(876)}: Ошибка при вызове метода контекста (Выполнить)
    ТЗ=Запрос.Выполнить().Выгрузить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric

Вот кусок кода на который ссылается конфигуратор:
Функция СформироватьСебестВсейНоменклРасширеная(ДатаДок,ВыбратьВидыНоменкл="",типЦены=Неопределено) Экспорт/// вначале формируем цены товаров на складах
/// в форме создать Перем ВыбратьВидыНоменкл;/// что выбрать : блюда, товары или всё ?
/// "Все"               Тогда  ВыбратьВидыНоменкл = "";
/// "Блюда и Заготовки" Тогда  ВыбратьВидыНоменкл = "  И (НоменклатураСправочник.ВидНоменклатуры = &Блю ИЛИ НоменклатураСправочник.ВидНоменклатуры = &Заг)";
/// "Товары и Продукты" Тогда  ВыбратьВидыНоменкл = " И (НоменклатураСправочник.ВидНоменклатуры = &Тов ИЛИ НоменклатураСправочник.ВидНоменклатуры = &Прод) ";
     /// возвращает :       средняя цена по остаткам
///                       средняя цена по приходам на склад
///                       остаток на складе
///    последняя установленная цена (типЦены) из РегСведений ЦеныНоменклатуры,
         ///           все это по номенклатуре и по всем единицам измерения конкретной номенклатуры
ТЗ = Новый ТаблицаЗначений;
Запрос = Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
              | НоменклатураСправочник.Ссылка КАК Номенклатура,
              | 0 КАК Себестоимость,
              | ЕдиницыИзмерения.Ссылка КАК ЕдИзм,
              | ЕдиницыИзмерения.Коэффициент КАК КоэфЕдИзм,
              | НоменклатураСправочник.ВидНоменклатуры КАК Вид,
              | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ЕдиницыИзмерения.Коэффициент, 0) КАК Остаток,
              | ВЫБОР
              | КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход <> 0
              | ТОГДА ТоварыНаСкладахОстаткиИОбороты.СуммаПриход / ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход
              | ИНАЧЕ 0
              | КОНЕЦ КАК ПоСреднемуПриходу,
              | ВЫБОР
              | КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <> 0
              | ТОГДА ТоварыНаСкладахОстаткиИОбороты.СуммаКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
              | ИНАЧЕ 0
              | КОНЕЦ КАК ПоОстаткам,
              | ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
              | 0 КАК Разница
              |ИЗ
              | Справочник.Номенклатура КАК НоменклатураСправочник
              | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
              | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦены = &ТипЦены) КАК ЦеныНоменклатурыСрезПоследних
              | ПО ЕдиницыИзмерения.Ссылка = ЦеныНоменклатурыСрезПоследних.Единица
              | ПО НоменклатураСправочник.Ссылка = ЕдиницыИзмерения.Владелец.Ссылка
              | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, &ПоДату, , , ) КАК ТоварыНаСкладахОстаткиИОбороты
              | ПО (ТоварыНаСкладахОстаткиИОбороты.Номенклатура = НоменклатураСправочник.Ссылка)
              |ГДЕ
              | НоменклатураСправочник.ЭтоГруппа = ЛОЖЬ "+ВыбратьВидыНоменкл+"
              |
              |СГРУППИРОВАТЬ ПО
              | НоменклатураСправочник.Ссылка,
              | ЕдиницыИзмерения.Ссылка,
              | ЕдиницыИзмерения.Коэффициент,
              | НоменклатураСправочник.ВидНоменклатуры,
              | ВЫБОР
              | КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход <> 0
              | ТОГДА ТоварыНаСкладахОстаткиИОбороты.СуммаПриход / ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход
              | ИНАЧЕ 0
              | КОНЕЦ,
              | ВЫБОР
              | КОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <> 0
              | ТОГДА ТоварыНаСкладахОстаткиИОбороты.СуммаКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
              | ИНАЧЕ 0
              | КОНЕЦ,
              | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ЕдиницыИзмерения.Коэффициент, 0),
              | ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)
              |
              |УПОРЯДОЧИТЬ ПО
              | НоменклатураСправочник.Наименование";
 
     ///ДатаДок=ТекущаяДата();                             "+ВыбратьВидыНоменкл+"
Запрос.УстановитьПараметр("Блю",Перечисления.ВидыНоменклатуры.Блюдо);
Запрос.УстановитьПараметр("Заг",Перечисления.ВидыНоменклатуры.Заготовка);
Запрос.УстановитьПараметр("Тов",Перечисления.ВидыНоменклатуры.Товар);
Запрос.УстановитьПараметр("Прод",Перечисления.ВидыНоменклатуры.Продукт);

Запрос.УстановитьПараметр("ТипЦены",типЦены);
Запрос.УстановитьПараметр("ПоДату",ДатаДок);
ТЗ=Запрос.Выполнить().Выгрузить();
Возврат ТЗ;
 КонецФункции



Помогите пожалуйста решить эту делему. Я не могу никак ошибку найти :(
По возможности поясните пожулуйста откуда она могла взяться? ведь в код конфигурации вроде как никто не лез... :dfbsdfbsdf:


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Часом нуля в коэфициенте единицы измерения нет?

Оффлайн The

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Ученик 1С
Часом нуля в коэфициенте единицы измерения нет?
Может и есть. Меня можно назвать 1С дебилом, поэтому не скромный вопрос где это посмотреть?

какие то коэффициенты нашел, но в некоторых товарах они вообще не проставлены...

Последний раз редактировалось: The; 16 Окт 2015, 21:12

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
У номенклатуры есть единица измерения - это справочник. Кроме наименования в единицах измерения есть/должно быть поле коэффициент. Этот коэфициент не должен быть равен нулю. Если ничего не стоит - это ноль.

Оффлайн The

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Ученик 1С
У номенклатуры есть единица измерения - это справочник. Кроме наименования в единицах измерения есть/должно быть поле коэффициент. Этот коэфициент не должен быть равен нулю. Если ничего не стоит - это ноль.
то есть ошибка может возникать даже из одного товара? А как отфильтроватьь по этому полю? просто товаров больше 1000....
Добавлено: 17 Окт 2015, 05:13

У номенклатуры есть единица измерения - это справочник. Кроме наименования в единицах измерения есть/должно быть поле коэффициент. Этот коэфициент не должен быть равен нулю. Если ничего не стоит - это ноль.
коэффициент не равен нулю. Какие еще варианты есть?

Последний раз редактировалось: The; 17 Окт 2015, 05:13. Причина: Объединение сообщений

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ЕдиницыИзмерения.Коэффициент, 0) КАК Остаток,
Попробовать вот здесь.
Написать так
ВЫБОР
КОГДА ЕдиницыИзмерения.Коэффициент = 0 Тогда
0
Иначе
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ЕдиницыИзмерения.Коэффициент, 0)
Конец Как Остаток
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн pavl_vs

  • *****
  • Сообщений: 1069
  • РЕПУТАЦИЯ: 168
  • КПД: 16%
  • Регистрация: 2011-05-09
  • Сайт: 
  • Профессия: Программист 7.7
The, если Вы готовы править конфигуратор, то воспользуйтесь советом Luzer1C; и позаботьтесь о сохранении изменений при очередном обновлении.

А мой совет - следует правильно, и по возможности полно, заполнять справочники.
"просто товаров больше 1000...." - это не количество, за выходной управитесь, важно понимать назначение коэффициента.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Пдправте СКД таким образом чтобы добавить просто отдельным полем коэффициент, а поле "Остаток" вообще выключите. Тогда увидите номенклатуру без коэффициентов.

Оффлайн The

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Ученик 1С
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ЕдиницыИзмерения.Коэффициент, 0) КАК Остаток,
Попробовать вот здесь.
Написать так
ВЫБОР
КОГДА ЕдиницыИзмерения.Коэффициент = 0 Тогда
0
Иначе
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток / ЕдиницыИзмерения.Коэффициент, 0)
Конец Как Остаток

Спасибо Вам большое, но Ваш совет мне к сожалению не помог. Ошибка выводилась. Но все же спасибо огромное за участие в решении моей проблемы! :bleh:

Но найдя сортировку по коэффициенту я все смог быстро исправить коэффициенты. Четыре нулевых было. После их исправления все как по волшебству заработало! :zebzdr:

Так что товарищи Вы мне очень сильно помогли. Особенно vitasw. И не обижайтесь, тк я теперь будут к Вам обращаться вот с такими дурацкими вопросами. :nhsrm:

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Ошибка выполнения запросапо причине:Ошибка при выполнении операции над данными:Ошибка SQL: Деление на 0
Ну так проблема очевидна. Тут же русским языком написано.:)
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4293
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5553
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5891
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

Автор Dm109Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4373
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

Автор Vasya PovarРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1981
Последний ответ 07 Дек 2016, 15:53
от Kironten

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
50 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 324
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal