Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот / ВложенныйЗапрос.Курс КАК ЧИСЛО(15, 2)) КАК Сумма,
ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель, &ПустаяНоменклатура) КАК Родитель1,
ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель.Родитель, &ПустаяНоменклатура) КАК Родитель2,
ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель.Родитель.Родитель, &ПустаяНоменклатура) КАК Родитель3,
ЕСТЬNULL(ПродажиОбороты.Номенклатура.Родитель.Родитель.Родитель.Родитель, &ПустаяНоменклатура) КАК Родитель4,
Контрагенты.Контрагент.Ссылка КАК Контрагент,
Контрагенты.Контрагент._г_Код1С КАК КодПартнера,
1 КАК Колво
ИЗ
(ВЫБРАТЬ
СРЕДНЕЕ(КурсыВалют.Курс) КАК Курс
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
КурсыВалют.Период МЕЖДУ &НачалоПериода И &КонецПериода
И КурсыВалют.Валюта = ЗНАЧЕНИЕ(Справочник.Валюты._г_Валюта_Доллар)) КАК ВложенныйЗапрос,
(ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Ссылка В(&СписокКонтрагентов)) КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(
&НачалоПериода,
&КонецПериода,
Регистратор,
Номенклатура В ИЕРАРХИИ (&ГруппыНоменклатуры)
И ДоговорКонтрагента.Владелец В (&СписокКонтрагентов)) КАК ПродажиОбороты
ПО Контрагенты.Контрагент = ПродажиОбороты.ДоговорКонтрагента.Владелец
ИТОГИ
СУММА(Сумма),
СУММА(Колво)
ПО
Контрагент,
Номенклатура,
ЗаказПокупателя
Перем СтрокаСрокДействия;
Функция СтрокаСрокДействия()
Если ТекущийЭлемент().ФлагБессрочного = 1 Тогда
Если ПустоеЗначение(ТекущийЭлемент().СрокДействия.Получить(РабочаяДата())) = 1 Тогда
СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до ";
Иначе
СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до "+ТекущийЭлемент().СрокДействия.Получить(РабочаяДата());
КонецЕсли;
ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 2 Тогда
СтрокаСрокДействия = "бессрочно";
ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 3 Тогда
СтрокаСрокДействия = "пролонгируемый";
КонецЕсли;
Возврат(СтрокаСрокДействия);
КонецФункции
1C 7.7 Такая расчудесная функция была в модуле формы списка справочника. Функция была назначена на текстовое поле формы списка... И таким образом при пролистывании формы списка, в поле "Срок действия" непонятным образом попадали абсолютно левые значения, но зато в каждой из строк было одно и то же до следующего пролистывания...
Если НЕ Отказ И ЭтоНовый() и Роль = Справочники.РолиКонтактныхЛиц.НайтиПоНаименованию("Директор") Тогда
Пол = Перечисления.ПолФизическихЛиц.Мужской;
КонецЕсли;
Если Номенклатура1 <> Номенклатура2 Тогда
Запрос=Новый Запрос("ВЫБРАТЬ
|РаспределениеМатериаловПоМенеджерам.ЗаявкаНаМатериалы,
|РаспределениеМатериаловПоМенеджерам.Материал
|ИЗ
|РегистрСведений.РаспределениеМатериаловПоМенеджерам КАК РаспределениеМатериаловПоМенеджерам
|ГДЕ
|РаспределениеМатериаловПоМенеджерам.Материал = &Материал");
Запрос.УстановитьПараметр("Материал",Номенклатура1);
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
МЗСтарой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
МЗСтарой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
МЗСтарой.Материал=Номенклатура2;
МЗСтарой.Прочитать();
МЗНовой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
МЗНовой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
МЗНовой.Материал=Выборка.Материал;
МЗНовой.Прочитать();
Если МЗСтарой.Выбран() тогда
МЗНовой.Удалить();
Иначе
МЗНовой.Материал=Номенклатура2;
МЗНовой.Записать(Истина);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Вот такой код сделан был франчем, который потребовал за это еще и 3 часа оплаты)))) Одно только непонятно почему при обращении к регистру нельзя было использовать отбор это же гораздо проще и быстрее и кода меньше
Функция ЧерезНоль(Значность) Экспорт
Оборот=10;
Если Значность=2 Тогда
Оборот=100;
ИначеЕсли Значность=3 Тогда
Оборот=1000
ИначеЕсли Значность=4 Тогда
Оборот=10000
ИначеЕсли Значность=5 Тогда
Оборот=100000
ИначеЕсли Значность=6 Тогда
Оборот=1000000
ИначеЕсли Значность=7 Тогда
Оборот=10000000
ИначеЕсли Значность=8 Тогда
Оборот=100000000
ИначеЕсли Значность=9 Тогда
Оборот=1000000000
ИначеЕсли Значность=10 Тогда
Оборот=10000000000
ИначеЕсли Значность=11 Тогда
Оборот=100000000000
ИначеЕсли Значность=12 Тогда
Оборот=1000000000000
ИначеЕсли Значность=13 Тогда
Оборот=10000000000000
ИначеЕсли Значность=14 Тогда
Оборот=100000000000000
ИначеЕсли Значность=15 Тогда
Оборот=1000000000000000
КонецЕсли;
Возврат Оборот
КонецФункции
"ВЫБРАТЬ
| Вопросы.Ссылка,
| Вопросы.Вопрос,
| Вопросы1.Код
|ИЗ
| Справочник.Вопросы КАК Вопросы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Вопросы КАК Вопросы1
| ПО Вопросы.Ссылка = Вопросы1.Ссылка"
Запросец из обработки, которую толкают (и её даже покупают) за 2к