- 1
- 2
- 3
- 4
ЭлементыФормы.РедактированиеСклада.Доступность = Ложь;
Если ЭтотОбъект.ЭтоНовый() Тогда
ЭлементыФормы.РедактированиеСклада.Доступность = Ложь;
КонецЕсли;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−99
ЭлементыФормы.РедактированиеСклада.Доступность = Ложь;
Если ЭтотОбъект.ЭтоНовый() Тогда
ЭлементыФормы.РедактированиеСклада.Доступность = Ложь;
КонецЕсли;
когда склад недоступен никогда...
−101
Процедура foo()
...
РезультатИтого = 0;
ТабДокВременный = Новый ТабличныйДокумент;
ПечатьСчетИзвещения(...,РезультатИтого);
Если (РезультатИтого > 0 ИЛИ РезультатИтого < 0 ИЛИ РезультатИтого = 0) и
(СокрЛП(Строка(мСтруктураДанных.ЛицевойСчетФио)) <> "Вероятный собственник") Тогда //это мое
...
КонецПроцедуры
//Функция формирует табличный документ с печатной формой СчетИзвещения
//Возвращаемое значение:
// Табличный документ - печатная форма
Функция ПечатьСчетИзвещения(..., РезультатИтого = Неопределено)
...
Если РезультатИтого <> Неопределено Тогда
РезультатИтого = ОбластьИтого2.Параметры.КОплате;
КонецЕсли;
...
КонецФункции
Самый реальный способ получения итогов запроса, что я видел!
+ кто-то ничье застолбил.
Это из той же конфигурации, что и первая моя кладка.
−99
Если Сальдо = Перечисления.ДаНет.Да И Кредит = Перечисления.ДаНет.Да Тогда
СуммаКОплате = Строка.Сальдо + Строка.Начислено + Строка.Разовые - Строка.Оплата - Льгота;
Строка.Коплате = СуммаКОплате;
ИначеЕсли Сальдо = Перечисления.ДаНет.Нет И Кредит = Перечисления.ДаНет.Да Тогда
СуммаКОплате = Строка.Начислено + Строка.Разовые - Строка.Оплата - Льгота - ?(Строка.Сальдо < 0, Строка.Сальдо * -1, 0);
Строка.Коплате = СуммаКОплате;
ИначеЕсли Сальдо = Перечисления.ДаНет.Да И Кредит = Перечисления.ДаНет.Нет Тогда
СуммаКОплате = ?(Строка.Сальдо > 0, Строка.Сальдо , 0) + Строка.Начислено + Строка.Разовые - Строка.Оплата - Льгота;
Строка.Коплате = СуммаКОплате;
ИначеЕсли Сальдо = Перечисления.ДаНет.Нет И Кредит = Перечисления.ДаНет.Нет Тогда
СуммаКОплате = Строка.Начислено + Строка.Разовые - Льгота;
Строка.Коплате = СуммаКОплате;
КонецЕсли;
Проняло до слез. Ребята не знают простой математики, зато им известна условная тернарная операция. Привел самый эпичный отрывок, но там впору публиковать всю конфигурацию.
−19
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗаказПоставщику.Ссылка КАК Ссылка
|ИЗ
| Документ.ЗаказПоставщику КАК ЗаказПоставщику
|ГДЕ
| ЗаказПоставщику.EmeWmsЭкспорт И
| НЕ ЗаказПоставщику.ПометкаУдаления";
−88
// готовим выборку
ВыборкаПоСчетам = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Счет" + ЧастьБаланса);
Пока ВыборкаПоСчетам.Следующий() Цикл
ВыборкаСбк1 = ВыборкаПоСчетам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто" + ЧастьБаланса + "1");
Пока ВыборкаСбк1.Следующий() Цикл
ВыборкаСбк2 = ВыборкаСбк1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто" + ЧастьБаланса + "2");
Пока ВыборкаСбк2.Следующий() Цикл
ВыборкаСбк3 = ВыборкаСбк2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто" + ЧастьБаланса + "3");
Пока ВыборкаСбк3.Следующий() Цикл
ВыборкаПоКоррСчетам = ВыборкаСбк3.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Счет" + КоррЧастьБаланса);
Пока ВыборкаПоКоррСчетам.Следующий() Цикл
ВыборкаКоррСбк1 = ВыборкаПоКоррСчетам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто" + КоррЧастьБаланса + "1");
Пока ВыборкаКоррСбк1.Следующий() Цикл
ВыборкаКоррСбк2 = ВыборкаКоррСбк1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто" + КоррЧастьБаланса + "2");
Пока ВыборкаКоррСбк2.Следующий() Цикл
ВыборкаКоррСбк3 = ВыборкаКоррСбк2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто" + КоррЧастьБаланса + "3");
Пока ВыборкаКоррСбк3.Следующий() Цикл
ВыборкаНалСчет = ВыборкаКоррСбк3.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "СчетКорректировок");
Пока ВыборкаНалСчет.Следующий() Цикл
ВыборкаНалСбк1 = ВыборкаНалСчет.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто1Корректировок");
Пока ВыборкаНалСбк1.Следующий() Цикл
ВыборкаНалСбк2 = ВыборкаНалСбк1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто2Корректировок");
Пока ВыборкаНалСбк2.Следующий() Цикл
ВыборкаНалСбк3 = ВыборкаНалСбк2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто3Корректировок");
Пока ВыборкаНалСбк3.Следующий() Цикл
ВыборкаСделок = ВыборкаНалСбк3.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Сделка");
Пока ВыборкаСделок.Следующий() Цикл
ВыборкаДанных = ВыборкаСделок.Выбрать();
Если ВыборкаДанных.Следующий() Тогда
// Пара строк кода
Для Сч = 1 По 3 Цикл
Если ТипЗнч(ВыборкаДанных["Субконто" + ЧастьБаланса + Сч]) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
// И тут еще пара строк кода
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла; // по сделкам
КонецЦикла; // по субконто3 корректировок
КонецЦикла; // по субконто2 корректировок
КонецЦикла; // по субконто1 корректировок
КонецЦикла; // по счетам корректировок
КонецЦикла; // по корр субконто3
КонецЦикла; // по корр субконто2
КонецЦикла; // по корр субконто1
КонецЦикла; // по корр счетам
КонецЦикла; // по субконто3
КонецЦикла; // по субконто2
КонецЦикла; // по субконто1
КонецЦикла; // по счетам
Готовим выборку!
−94
Если СтрокаТаблицы.ЗакрытьДоговор = Истина Тогда
СтарыйЭлемент = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СтрокаТаблицы.Договор.Код).ПолучитьОбъект();
СтарыйЭлемент1 = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СтрокаТаблицы.Договор.Наименование).ПолучитьОбъект();
Если СтарыйЭлемент.Наименование <> СтарыйЭлемент1.Наименование Тогда
СтарыйЭлемент = СтарыйЭлемент1;
Иначе
СтарыйЭлемент = СтарыйЭлемент;
КонецЕсли;
СтарыйЭлемент.мфоДатаЗакрытия = Дата;
Иначе
СтарыйЭлемент = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СтрокаТаблицы.Договор.Код).ПолучитьОбъект();
СтарыйЭлемент1 = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СтрокаТаблицы.Договор.Наименование).ПолучитьОбъект();
Если СтарыйЭлемент.Наименование <> СтарыйЭлемент1.Наименование Тогда
СтарыйЭлемент = СтарыйЭлемент1;
Иначе
СтарыйЭлемент = СтарыйЭлемент;
КонецЕсли;
СтарыйЭлемент.мфоДатаЗакрытия = Дата("00010101");
КонецЕсли;
СтарыйЭлемент.Записать();
Крайне сильное колдунство :) Все те же аутсорсеры :)
−99
Дней = 90;
НачалоПериода = НачалоДня(ТекущаяДата()) - Дней*86400;
немного магии
−101
// Процедура организует выбор элементов по результату запроса
Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено,
ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора,
СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)
// Процедура организует выбор элементов по результату запроса
Процедура ВыбратьЭлементОкончаниеВводаАдресногоКлассификатора(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено,
ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора,
СтруктураВыбранногоЭлемента = Неопределено, НачальныйУровеньДетализации = 0, КонечныйУровеньДетализации = 5)
// Процедура организует выбор элементов по результату запроса
Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено,
ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора,
СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)
Просто пара заголовков процедур из типовых конфигураций 1С (15 параметров, Карл, там 15 параметров!). Сопроводительные комментарии прилагаются.
К слову сами процедуры занимают не более 20 строк, но самое забавное заключается в том, что некоторые параметры вообще не используются при работе процедуры.
−94
Объект=Справочники.ПодразделенияОрганизаций.НайтиПоКоду(Касса.Владелец.Код);
Разгребаю агиевы конюшни после аутсорсеров. Подобная конструкция встретилась почти в 70 местах в конфигурации. Кто догадается, какого типа владелец у кассы?
−95
Попытка
Объект.Ответственный = ПараметрыСеанса.ТекущийПродавец;
Исключение
Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
КонецПопытки;
Если НЕ ЗначениеЗаполнено(Объект.Ответственный) Тогда
Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;
Встретил в сильно нетиповой рознице. Такое чувство, будто реквизит "Ответственный" насиловали или автор строк при написании их же просматривал порно с элементами садо-мазо.