Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Результат = Запрос.Выполнить();
Если Результат.Выгрузить().Количество() <> 0 Тогда
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
... тут некий код... и внутри контрольный в голову...
Если ТЗ.Количество() <> 0 Тогда
Для Каждого Строка Из ТЗ Цикл
...
КонецЦикла;
КонецЕсли;
...
КонецЦикла;
КонецЕсли;
Видимо это такая "оптимизация", другого объяснения подобным проверкам (это не единичный случай) не нашел.
теСтрокаТЗ_двухТЧ=ТЗ_двухТЧ_РТиУ.Найти(СокрЛП(ЗначениеВСтрокуВнутр(теСтрокаТЧ.Номенклатура))+"++"+Строка(ё)+"++"+Строка(теСтрокаТЧ.НомерСтроки),"Ид");
теСтрокаТЗ_НДС_БезТекРТиУ=ТЗ_НДС_БезТекРТиУ.Найти(теСтрокаТЧ.Номенклатура);
ТЗостНмЗаказаБезТекРТиУ=ПолучитьТЗ_НоменклатурыЗаказа(текущСделка, РТиУобъ.Ссылка, ТекДата, ТекДата, ДокиЗаказаПлан, теСтрокаТЧ.Номенклатура);
Если ТЗостНмЗаказаБезТекРТиУ.Количество()>0 И ТЗостНмЗаказаБезТекРТиУ.Итог("СуммаКолвоПоНм")=ТЗотбора1.Итог("КолвоВ_ЕдХр") Тогда
РазностьСум=ТЗостНмЗаказаБезТекРТиУ.Итог("СуммаСуммВзаиморасчПоНм")-(ТЗотбора1.Итог("Сумма")+?(текущСуммаВключаетНДС,0,ТЗотбора1.Итог("СуммаНДС")));
Если РазностьСум<>0 И ПолучитьМодульЧисла(РазностьСум)<=Константы.опмМаксимальноеКорректируемоеВторымСпособомОтклонениеСуммОтгрузкиОтЗаказа.Получить() Тогда
теСтрокаТЧ.Сумма=теСтрокаТЧ.Сумма+РазностьСум*ЗнакТипаДок; теСтрокаТЗ_двухТЧ.Сумма=теСтрокаТЗ_двухТЧ.Сумма+РазностьСум;
КонецЕсли;
Если ВсеОтгрузкиВВалютеЗаказа И НЕ теСтрокаТЗ_НДС_БезТекРТиУ=Неопределено Тогда
РазностьСумНДС=теСтрокаТЗ_НДС_БезТекРТиУ.СуммаНДС-ТЗотбора1.Итог("СуммаНДС");
Если РазностьСумНДС<>0 И ПолучитьМодульЧисла(РазностьСумНДС)<=Константы.опмМаксимальноеКорректируемоеВторымСпособомОтклонениеСуммОтгрузкиОтЗаказа.Получить() Тогда
теСтрокаТЧ.СуммаНДС=теСтрокаТЧ.СуммаНДС+РазностьСумНДС*ЗнакТипаДок; теСтрокаТЗ_двухТЧ.СуммаНДС=теСтрокаТЗ_двухТЧ.СуммаНДС+РазностьСумНДС;
Если НЕ текущСуммаВключаетНДС Тогда
теСтрокаТЧ.Сумма=теСтрокаТЧ.Сумма -РазностьСумНДС*ЗнакТипаДок; теСтрокаТЗ_двухТЧ.Сумма=теСтрокаТЗ_двухТЧ.Сумма -РазностьСумНДС;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ЗаказПокВыполненПолностью Тогда СтрокаТЗпоНм=ТЗ_НепоставленнойНмЗаказа.Найти(теСтрокаТЧ.Номенклатура);
Если НЕ СтрокаТЗпоНм=Неопределено Тогда
ТЗ_НепоставленнойНмЗаказа.Удалить(СтрокаТЗпоНм);
КонецЕсли;
КонецЕсли;
Иначе ЗаказПокВыполненПолностью=Ложь;
КонецЕсли;
Процедура Сформировать()
СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
СпрКонтр.ВыбратьЭлементы();
Пока СпрКонтр.ПолучитьЭлемент()=1 Цикл
Сообщить(СпрКонтр.Наименование);
Спр = СоздатьОбъект("Справочник.ТорговыеТочки");
Спр.ИспользоватьВладельца(СпрКонтр.ТекущийЭлемент());
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Сообщить(Спр.Наименование);
Х = СокрЛп(Спр.Код);
У = "";
Если Х="80002963" Тогда У = "68000550";
ИначеЕсли Х="80002964" Тогда У = "68000549";
ИначеЕсли Х="80004172" Тогда У = "68000551";
....................................
ИначеЕсли Х="80004503" Тогда У = "68000811";
ИначеЕсли Х="80003952" Тогда У = "68001300";
КонецЕсли;
Если У <> "" Тогда
Спр.CASID = У;
Спр.Записать();
КонецЕсли;
КонецЦикла;
КонецЦикла;
Сообщить("Обработка завершена!");
КонецПроцедуры
Прислали обработку проставления определенного значения реквизита... Чуть со стула не упали... Всего 619 условий...
Попытка
// Для редких случаев, когда ЭтотОбъект неопределен
// проверку на режим обмена данными делаем через попытку
Загрузка = ЭтотОбъект.ОбменДанными.Загрузка;
Если Загрузка Тогда
// если текущий режим Загрузка, то производим минимум проверок
// т.к. все проверки были произведены в ИБ источнике
Возврат Ложь;
КонецЕсли;
ДопЗагрузка = Неопределено;
Если НЕ Загрузка Тогда
ЭтотОбъект.ДополнительныеСвойства.Свойство("Загрузка",ДопЗагрузка);
Загрузка = ?(НЕ ДопЗагрузка = Неопределено,ДопЗагрузка,Загрузка);
КонецЕсли;
Если Загрузка Тогда
Возврат Ложь;
КонецЕсли;
Исключение КонецПопытки;
Переменная "Загрузка" может принимать только 2 значения.
ТовМат = РегистрыСведений.ТоварнаяМартица;
ГруппаД = Справочники.КлассификацияABC.НайтиПоНаименованию("Д").Ссылка;
ТЗНомен = Запрос.Выполнить().Выгрузить();Ит=0;тСерт = Справочники.СертификатыСоответствия.ПустаяСсылка();
ТЗНомен.Сортировать("Производитель,Сертификат,Номенклатура");
тПроизвод="";
Для Каждого стр Из ТзНомен Цикл
Если Объект.ИсключитьТоварыГруппыД = Истина Тогда
Если стр.Номенклатура.КлассABC = ГруппаД Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если стр.Номенклатура.ЭтоГруппа = Ложь Тогда
Если НаличиеВМатрице = истина Тогда
НаборД = ТовМат.СоздатьНаборЗаписей();
// устанавливаем параметры отбора по полному набору Измерений регистра:
НаборД.Отбор.нОменклатура.Установить(стр.Номенклатура.Ссылка);
НаборД.Прочитать();
Если НаборД.Количество() = 0 Тогда
Продолжить;
Конецесли;
КонецЕсли;
Бывший программист из нашей конторы отбирает строки таблицы с номенклатурой, по которой отсутствуют записи в регистре сведений, используя при этом другие "удивительные приемы программирования"... Ушел на повышение в саму 1С)))