- 1
Выбрать * из РегистрСведений.Таблица Где Таблица.ДатаПодтверждения >= ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−127.7
Выбрать * из РегистрСведений.Таблица Где Таблица.ДатаПодтверждения >= ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
Это вот условие писал мой бывший начальник..
−134
Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ТекКвота = ДанныеСтроки.Ссылка;
мЗапросДок = Новый Запрос;
мЗапросДок.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(СУММА(СДотчетТовары.Количество), 0) КАК Количество
|ИЗ
| Документ.СДотчет.Товары КАК СДотчетТовары
|ГДЕ
| СДотчетТовары.Ссылка.Проведен = ИСТИНА
| И СДотчетТовары.КвотаОтчета = &Квота";
мЗапросДок.УстановитьПараметр("Квота",ТекКвота);
Выборка = мЗапросДок.Выполнить().Выбрать();
Выборка.Следующий();
ВДоке = Выборка.Количество;
ОформлениеСтроки.Ячейки.СогласноСД.Значение = ?(ВДоке=0,"",ВДоке);
мЗапросПОС = Новый Запрос;
мЗапросПОС.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(СписаноПоПОСОбороты.КоличествоОборот, 0) КАК Количество
|ИЗ
| РегистрНакопления.СписаноПоПОС.Обороты(, , , Квота = &Квота) КАК СписаноПоПОСОбороты";
мЗапросПОС.УстановитьПараметр("Квота",ТекКвота);
Выборка = мЗапросПОС.Выполнить().Выбрать();
Выборка.Следующий();
ВПОС = Выборка.Количество;
ОформлениеСтроки.Ячейки.СогласноПОС.Значение = ?(ВПОС=0,"",ВПОС);
мЗапросРег = Новый Запрос;
мЗапросРег.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(Квоты.КолВЗаказахПокупателя, 0) КАК КолВЗаказахПокупателя,
| ЕСТЬNULL(ЗаказПоставщику.КолВЗаказахПоставщику, 0) КАК КолВЗаказахПоставщику
|ИЗ
| (ВЫБРАТЬ
| СУММА(ЕСТЬNULL(ЗаказПоставщикуТовары.Количество, 0)) КАК КолВЗаказахПоставщику
| ИЗ
| Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
| ГДЕ
| ЗаказПоставщикуТовары.КвотаЗаказа = &Квота) КАК ЗаказПоставщику,
| (ВЫБРАТЬ
| СУММА(ЕСТЬNULL(КвотыЗаказовПокупателейОстаткиИОбороты.КоличествоПриход, 0)) КАК КолВЗаказахПокупателя
| ИЗ
| РегистрНакопления.КвотыЗаказовПокупателей.ОстаткиИОбороты(
| ,
| ,
| ,
| ,
| Квота = &Квота
| И ВидКвоты = ЗНАЧЕНИЕ(Перечисление.ВидыКвот.ОтчетнаяКвота)) КАК КвотыЗаказовПокупателейОстаткиИОбороты) КАК Квоты";
мЗапросРег.УстановитьПараметр("Квота",ТекКвота);
Выборка = мЗапросРег.Выполнить().Выбрать();
ЕстьВыборка = Выборка.Следующий();
КолВЗаказахПокупателя = ?(не ЕстьВыборка,0,Выборка.КолВЗаказахПокупателя);
КолВЗаказахПоставщику = ?(не ЕстьВыборка,0,Выборка.КолВЗаказахПоставщику);
ОформлениеСтроки.Ячейки.ВЗаказахПокупателя.Значение = КолВЗаказахПокупателя;
ОформлениеСтроки.Ячейки.ВЗаказахПоставщику.Значение = КолВЗаказахПоставщику;
КонецПроцедуры
Чудный справочник, очень быстро открывается и прокручивается. Приходится ждать по 20 секунд)))
−213
Если Пользователь.Родитель.КонтрольРазмещения = Истина Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
Лёгких путей не бывает :)
−122
Функция ВыделитьНалог(СуммаСНалогом,Ставка)
Если Ставка<>-100 Тогда
Возврат(Ставка*СуммаСНалогом/(100+Ставка));
Иначе
Сообщить("Налог не рассчитан");
Возврат(0);
КонецЕcли;
КонецФункции
В одном продукте, имеющем сертификат 1с Совместимо!
Нет, с программерской точки зрения верно. Только как ставка налога может быть минус сто процентов? O.o
−110
Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
// при выводе строки в ТабличноеПоле1, перебор ячеек строки
Для Каждого Ячейка Из ОформлениеСтроки.Ячейки Цикл
// если имя текущей ячейки "НормаВремени"
Если Ячейка.Имя = "НормаВремениТекст" Тогда
// получить норму времени текущего поста охраны на текущую дату и вывести в соотв. ячейку Тч
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НормыВремениПоПостамСрезПоследних.Период,
| НормыВремениПоПостамСрезПоследних.ПостОхраны,
| НормыВремениПоПостамСрезПоследних.НормаВремени
|ИЗ
| РегистрСведений.НормыВремениПоПостам.СрезПоследних(&ВыбДата) КАК НормыВремениПоПостамСрезПоследних
|ГДЕ
| НормыВремениПоПостамСрезПоследних.ПостОхраны = &Пост";
Запрос.УстановитьПараметр("ВыбДата",ТекущаяДата());
Запрос.УстановитьПараметр("Пост", ДанныеСтроки.Ссылка);
ТекНормаВремени = Запрос.Выполнить().Выгрузить();
//ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока[Ячейка.Имя].Значение = ТекНормаВремени[0].НормаВремени;
ОформлениеСтроки.Ячейки["НормаВремениТекст"].ОтображатьТекст = Истина;
//ОформлениеСтроки.Ячейки["НормаВремениТекст"].Значение = ТекНормаВремени[0].НормаВремени;
ОформлениеСтроки.Ячейки["НормаВремениТекст"].Текст = ТекНормаВремени[0].НормаВремени;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
веселый цикл
−118.9
Модуль объекта: Документ.ЗаявкаНаРасходованиеСредств
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА
//++Говнокодер
#Если Клиент Тогда
//--Говнокодер
Процедура ОбработкаПроведения(Отказ, Режим)
...
КонецПроцедуры
//++Говнокодер
#КонецЕсли
//--Говнокодер
- Документ проведен?
База: Проведен
Журнал регистрации: Проведен!
- А где движения?!
- А их нету, ибо документ проводился на сервере.
Плакали всем отделом, всплыло случайно, когда перенесли проведение в привилегированный режим. А говнокодер уже год как с нами не работает, привет ему :)
−109.8
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ДанныеСтроки.Осталось = ДанныеСтроки.Поступление - СуммаСтроки;
Элемент.Колонки.Объем.ТекстПодвала = Товары.Итог("Объем");
КонецПроцедуры
Всё тот же Самоделкин. Обработка события при выводе строки.
Догодайтесь, в чём изюминка этой процедуры?
−156
Дораспределить = Новый ТаблицаЗначений();
Дораспределить.Колонки.Добавить("Строка");
Дораспределить.Колонки.Добавить("Количество");
.....
Дораспределить.Очистить();
НовДораспределить = Дораспределить.Добавить();
НовДораспределить.Строка = Дораспределить[0].Строка;
НовДораспределить.Количество = Дораспределить[0].Количество - ОсталосьРаспределить;
Новые приключения Самоделкина. На этот раз у него не прокатило, в последней строке валится с ошибкой.
−159.9
Если Не Запрос.Выполнить().Пустой() Тогда
Рез = Запрос.Выполнить().Выбрать();
КонецЕсли;
Пишу со слов друга, а он копает базу после местного самоделкина.
Такая конструкция там везде, а запросы часто сделаны к физическим таблицам с минимумом условий.
−264.8
Функция Таймер() Экспорт
Скрипт= новый ComОбъект("MSScriptControl.ScriptControl");
Скрипт.Language="javascript";
ТекущееВремя = Скрипт.eval("new Date().getTime()");
Возврат ТекущееВремя;
КонецФункции
...
Начало = Таймер();
...
начатьтранзакцию
...
зафиксироватьтранзакцию
...
Конец = Таймер();
ВремяРаботы = ФорматироватьВремя(Конец-Начало);
...
сообщить("--->"+ТекущаяДата());
вот что бывает, когда с явы пересаживаются в мэрс