- 1
Разупоритесь-тред.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 7
0
Разупоритесь-тред.
Под какой файкой нынче сидит доктор[]инхо[/s]?
−47
Запись = РегистрыСведений.СтатусыОповещенийПредстоящихПлатежей.СоздатьМенеджерЗаписи();
Запись.Период = Выборка.Период;
Запись.Контрагент = Выборка.Контрагент;
Запись.Прочитать();
Запись.ДатаПолучения = ТекущаяДата();
НачатьТранзакцию();
Запись.Записать(Истина);
ЗафиксироватьТранзакцию();
Дополнительная транзакция - лишняя.
−80
Если Найти(Строка(ТипЗнч(Ссылка)),"Документ") Тогда
Проверка, является ли переданная ссылка документом. Сегодня без авторства.
−177
//подписка ПередЗаписью
ИначеЕсли ТипЗнч(Источник) = Тип("ДокументОбъект.КонтрольПлатежейПросрочка") Тогда
Если Источник.ПометкаУдаления Тогда
мНабор=РегистрыНакопления.КонтрольПлатежейПросрочка.СоздатьНаборЗаписей();
мНабор.Отбор.Регистратор.Установить(Источник.Ссылка);
мНабор.Записать();
Попытка
Источник.Удалить();
Исключение КОнецПопытки;
Отказ=Истина;
КонецЕсли;
Удалить документ в транзакции "перед записью" при пометке удаления - это сильно, а "Попытка" - так, на всякий случай, а чтобы продолжения банкета не было - Отказ. Звезда Хан Ю.В.
−121
Функция СоздатьЗапрос(Текст) Экспорт
Запрос = Новый Запрос;
Запрос.Текст=Текст;
Возврат Запрос;
КонецФункции
Функция СоздатьМассив() Экспорт
Возврат Новый Массив;
КонецФункции
Функция СоздатьСоответствие() Экспорт
Возврат Новый Соответствие;
КонецФункции
Функция СоздатьСтруктуру() Экспорт
Возврат Новый Структура;
КонецФункции
Функция СоздатьСписокЗначений() Экспорт
Возврат Новый СписокЗначений;
КонецФункции
Вот такие вот функции (это естественно не все) от OLE-мастера: NewObject - не, не слышал.
−121
Процедура аСсылкиПриЗаписиПриЗаписи(Источник, Отказ) Экспорт
Если аСервер.ЗагрузкаПоОбменуРиб(Источник) Тогда
Возврат
КонецЕсли;
Если ТипЗнч(Источник)=Тип("СправочникОбъект.Корреспонденты") Тогда
Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли;
Если Источник.Ссылка.ЭтоГруппа Тогда Возврат; КонецЕсли;
Если Источник.Предопределенный Тогда Возврат; КонецЕсли;
Источник.ОбменДанными.Загрузка=Истина;
Источник.Записать(); //Записать() в подписке ПриЗаписи() - крутой костыль
Источник.ОбменДанными.Загрузка=Ложь;
Источник.Комментарий = ...
Вот такая вот подписка при записи любых ссылок. 3 Если подряд? Логическое умножение - не, не слышал. Зато Записать() в подписке ПриЗаписи - слышал. Автор Хан Юрий Валентинович.
−121
Функция ПолучитьКонтрольКонтрагентовВключен() Экспорт
мПривилегированныйРежим=ПривилегированныйРежим();
Если НЕ мПривилегированныйРежим Тогда
УстановитьПривилегированныйРежим(Истина);
мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
УстановитьПривилегированныйРежим(мПривилегированныйРежим);
Иначе
мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
КонецЕсли;
Возврат мКонтрольКонтрагентовВключен;
КонецФункции
Получение константы в в привилегированном режиме поражает. Антипаттерн Спагетти (можно обойтись двумя строками). Автор Хан Юрий Валентинович.