Что происходит, если осуществлять поиск по справочнику/документу/таблице без проверки на выполнение успешности
Опишу более подробно, что имеется ввиду, к чему это приводит и как написать правильно:
Постановка задачи | ОТОБРАЗИТЬ> |
---|---|
Написал программист отчет, вот с таким кусочком кода:
.... СпрПараметров = Справочники.Контрагенты.НайтиПоНаименованию(СпрКонтрагентов.Наименование); Параметр1 = СпрПараметров.Параметр1; Параметр2 = СпрПараметров.Параметр2; ....
И всё хорошо, заработал отчет, и пользовался им (отчетом) заказчик долго-долго — а ж целых 6 месяцев…..
Лирика | ОТОБРАЗИТЬ> |
---|---|
И перестал работать отчет… и начал выдавать странные ошибки….
Опечалился заказчик и звонит программисту… так мол и так — твой хороший отчет — перестал работать — исправь его, и исправь срочно
Лирика | ОТОБРАЗИТЬ> |
---|---|
Пришлось программисту ехать к заказчику
Да, попробовал программист построить отчет — действительно — не работает.
Быстро разобрался программист в чем было дело — нужно было переписать кусочек кода, и написать примерно вот так-во
... СпрПараметров = Справочники.Контрагенты.НайтиПоНаименованию(СпрКонтрагентов.Наименование); Если ЗначениеЗаполнено(СпрПараметров) Тогда Параметр1 = СпрПараметров.Параметр1; Параметр2 = СпрПараметров.Параметр2; Иначе Параметр1 = ""; Параметр2 = ""; КонецЕсли; ...
Задач других у заказчика не оказалось — и вынужден был программист ехать домой.
И попросить оплаты за выполненную работу программист не может, т.к. отчет-то он писал — и ошибка тут именно программиста.
Все бы было не плохо, но поездка к заказчику (туда и обратно) заняла все вместе — три часа.
И по сути это были вычеркнутые из жизни программиста 3 часа, всего-лишь из за того, что не подумал он над тем, что может произойти, если вдруг не получиться найти контрагента по нужному условию….
Добавить комментарий