Имеется отчет: формирует остатки спецодежды у сотрудников.

```1c
    Процедура ВыбратьТовары(Реж)
    Перем Фрм;
    Перем Тек;
    Если ВыбТовары.РазмерСписка()>0 Тогда
    Тек=ВыбТовары.ПолучитьЗначение(ВыбТовары.ТекущаяСтрока());
    КонецЕсли;
    ОткрытьПодбор("Справочник.Сотрудники",,Фрм,Реж,Тек);
    Фрм.ВыборГруппы(1);
    КонецПроцедуры
    //-----------------------------
    Процедура ОбработкаПодбора(ЗначПод)
    Если ЗначПод.Вид()="Сотрудники" Тогда
    ВыбТовары.ДобавитьЗначение(ЗначПод);
    ВыбТовары.ТекущаяСтрока(ВыбТовары.РазмерСписка());
    КонецЕсли;
    КонецПроцедуры
    //-------------------------------
    Процедура ОстаткиТоваров()
    БИ=СоздатьОбъект("БухгалтерскиеИтоги");

    БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
    БИ.ИспользоватьСубконто(ВидыСубконто.НазнИспользования);

    БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники,ВыбТовары,1,1 );
    БИ.Опции(1,1);
    БИ.ВключатьСубсчета(1,0);
    БИ.ВыполнитьЗапрос(ДатаОтчета,ДатаОтчета,"10.11.0",,,1,,"КС");

    Если ВыбТовары.РазмерСписка()=0 Тогда
    Заг="По всем сотрудникам ";
    Иначе
    Заг="По сотрудникам из списка: "+ВыбТовары.ВСтрокуСРазделителями()+". ";
    КонецЕсли;

    ЧислоСтрок=0;
    // Создание Таблицы для выходного отчета
    Таб=СоздатьОбъект("Таблица");

    Таб.ВывестиСекцию("Отчет");

    БИ.ВыбратьСубконто(3,,,,,"НАИМЕНОВАНИЕ");
    Пока БИ.ПолучитьСубконто(3) = 1 Цикл
    Если БИ.СКД("К")>0 Тогда
    СОТРУДНИК=БИ.Субконто(3);
    Таб.ВывестиСекцию("СОТРУДНИК");
    БИ.ВыбратьСубконто(1,,,,,"НАИМЕНОВАНИЕ");

    Пока БИ.ПолучитьСубконто(1) = 1 Цикл
    Если БИ.СКД("К")>0 Тогда
    Материал=БИ.Субконто(1);
    БИ.ВыбратьСубконто(2,,,,,"НАИМЕНОВАНИЕ");
    Пока БИ.ПолучитьСубконто(2) = 1 Цикл
    Если БИ.СКД("К")>0 Тогда
    Цена= БИ.Субконто(2).Цена;
    Количество=БИ.СКД("К");
    Ост=БИ.СКД("С");
    Назн=БИ.Субконто(2);
    Если Ост<>0 Тогда
    ПроцИ=Ост/Цена*100;
    сообщить (процИ);
    КонецЕсли;
    Таб.ВывестиСекцию("Материал");
    конецЕСЛИ;

    КонецЦикла;
    конецЕСЛИ;
    КонецЦикла;
    конецЕСЛИ;
    КонецЦикла;
    //Вызов выходного отчета в окно просмотра и редактирования.

    Таб.ПараметрыСтраницы(1,,,20,10,10,10,,,,1);
    Таб.Опции(0,0,5,0,"Otgr");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Остатки,",");
    КонецПроцедуры
    //----------------------

    //--------------------
    Процедура ОбработкаЯчейкиТаблицы(ЗначЯч,ФлагСтандартнойОбработки)
    Если (ТипЗначения(ЗначЯч)<>11) Тогда
    ФлагСтандартнойОбработки=1;
    Возврат;
    КонецЕсли;
    КонецПроцедуры
    //-------------------------------
    ДатаОтчета=КонецПериодаБИ();
    Форма.КнопкаПоУмолчанию("КнКратко");
    Валюта=1;
```

Отладчик выявил цену равную 0:

```1c
    Цена= БИ.Субконто(2).Цена;
```

 и ругнулся тут:

```1c
    Если Ост<>0 Тогда
    ПроцИ=Ост/Цена*100;
```
---
```1c
    ПроцИ=Ост/(?(Цена=0,1,Цена)*100);
```

или с обратной связью

```1c
    Если Ост=0 Тогда
    ПроцИ=Ост/100; // Тут надо подумать, что вывести в отчет при нулевой цене
    Сообщить("У материала "+"заменить на код с наименованием"+" не проставлена цена");
    Иначе
    ПроцИ=Ост/Цена*100;
    КонецЕсли;
```

или обернуть в Попытка Исключение КонецПопытки, но этот способ мне не нравится из-за неудобств с отладкой в режиме "Остановка по ошибкам"
---
можно проверку сделать на заполненность цены или брать цену больше ноля

```1c
    Если Ост<>0 и Цена >0 Тогда
    ПроцИ=Ост/Цена*100;
```
---
дополнительно дописать, какой результат должен быть, если цена равна 0 или правильнее не заполнена!
---
Ну и? В чём проблема?
---
```1c
    ПроцИ=Ост/(?(Цена=0,1,Цена)*100);
```

или с обратной связью

```1c
    Если Ост=0 Тогда
    ПроцИ=Ост/100; // Тут надо подумать, что вывести в отчет при нулевой цене
    Сообщить("У материала "+"заменить на код с наименованием"+" не проставлена цена");
    Иначе
    ПроцИ=Ост/Цена*100;
    КонецЕсли;
```

или обернуть в Попытка Исключение КонецПопытки, но этот способ мне не нравится из-за неудобств с отладкой в режиме "Остановка по ошибкам"
---
```1c
    ПроцИ=окр (Ост/(?(Цена=0,1,Цена))*100,0);
```

Вот так красиво. Всем спасибо, помогли!