Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Ругается "делить на 0 нельзя"          
bereznoy Подменю пользователя
сообщение 07.10.11, 19:37
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

64000000.gif Написал такую проверку, если хоть какое то из знаменателей будет 0, тогда параметр "Пакетировка" = 0 или просто пустое поле, вообщем то как то коряво у меня получается, подскажите какое условие сделать

Если  ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт = 0 Тогда Упак = 0 Иначе 
        Упак = Цел(ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак);
        допШт = ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт - Упак*ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак;
КонецЕсли;


        Если Цел(ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт)=
ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт Тогда
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. "+допШт+" шт.";
             Иначе
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. ";
         КонецЕсли;


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

MATEVI Подменю пользователя
сообщение 07.10.11, 19:45
Сообщение #2

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2203
Из: Одесса
Спасибо сказали: 968 раз
Рейтинг: 796.3

//а это?
ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак=0

bereznoy Подменю пользователя
сообщение 07.10.11, 20:25
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Код теперь такой, ошибочка на фотке
Если  ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт = 0 или ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак = 0 Тогда Упак = 0 Иначе 
        Упак = Цел(ВыборкаСтрокТовары.Количество /
ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт /
ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак);
        допШт = ВыборкаСтрокТовары.Количество /
ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт - Упак*ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак;
КонецЕсли;


        Если Цел(ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт) =
ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт Тогда
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. "+допШт+" шт.";
             Иначе
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. ";
         КонецЕсли;


и скрин


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Batchir Подменю пользователя
сообщение 07.10.11, 20:38
Сообщение #4

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Здесь значит происходит деление на 0. А вообще проблема вполне решается сама с использованием глазотладчика
Если Цел(ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт) = 
ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт Тогда
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. "+допШт+" шт.";
             Иначе
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. ";
         КонецЕсли;

Ardi Подменю пользователя
сообщение 07.10.11, 20:42
Сообщение #5

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Если  ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт=0 Тогда
Предупреждение("такидананольделитьнельзя");
Иначе
Если  ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт = 0 или ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак = 0 Тогда Упак = 0 Иначе
        Упак = Цел(ВыборкаСтрокТовары.Количество /
ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт /
ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак);
        допШт = ВыборкаСтрокТовары.Количество /
ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт - Упак*ВыборкаСтрокТовары.Номенклатура.Пакетировка.Штупак;
КонецЕсли;


        Если Цел(ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт) =
ВыборкаСтрокТовары.Количество / ВыборкаСтрокТовары.Номенклатура.Пакетировка.Площадьшт Тогда
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. "+допШт+" шт.";
             Иначе
        ОбластьМакета.Параметры.Упаковки = ""+Упак+" уп. ";
         КонецЕсли;
         КонецЕсли;


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Спасибо сказали: bereznoy,

bereznoy Подменю пользователя
сообщение 07.10.11, 20:50
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Спасибо icon_beer17.gif icon_beer17.gif


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 0:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!