Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
// при выводе строки в ТабличноеПоле1, перебор ячеек строки
Для Каждого Ячейка Из ОформлениеСтроки.Ячейки Цикл
// если имя текущей ячейки "НормаВремени"
Если Ячейка.Имя = "НормаВремениТекст" Тогда
// получить норму времени текущего поста охраны на текущую дату и вывести в соотв. ячейку Тч
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НормыВремениПоПостамСрезПоследних.Период,
| НормыВремениПоПостамСрезПоследних.ПостОхраны,
| НормыВремениПоПостамСрезПоследних.НормаВремени
|ИЗ
| РегистрСведений.НормыВремениПоПостам.СрезПоследних(&ВыбДата) КАК НормыВремениПоПостамСрезПоследних
|ГДЕ
| НормыВремениПоПостамСрезПоследних.ПостОхраны = &Пост";
Запрос.УстановитьПараметр("ВыбДата",ТекущаяДата());
Запрос.УстановитьПараметр("Пост", ДанныеСтроки.Ссылка);
ТекНормаВремени = Запрос.Выполнить().Выгрузить();
//ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока[Ячейка.Имя].Значение = ТекНормаВремени[0].НормаВремени;
ОформлениеСтроки.Ячейки["НормаВремениТекст"].ОтображатьТекст = Истина;
//ОформлениеСтроки.Ячейки["НормаВремениТекст"].Значение = ТекНормаВремени[0].НормаВремени;
ОформлениеСтроки.Ячейки["НормаВремениТекст"].Текст = ТекНормаВремени[0].НормаВремени;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Модуль объекта: Документ.ЗаявкаНаРасходованиеСредств
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА
//++Говнокодер
#Если Клиент Тогда
//--Говнокодер
Процедура ОбработкаПроведения(Отказ, Режим)
...
КонецПроцедуры
//++Говнокодер
#КонецЕсли
//--Говнокодер
- Документ проведен?
База: Проведен
Журнал регистрации: Проведен!
- А где движения?!
- А их нету, ибо документ проводился на сервере.
Плакали всем отделом, всплыло случайно, когда перенесли проведение в привилегированный режим. А говнокодер уже год как с нами не работает, привет ему :)
Если Не Запрос.Выполнить().Пустой() Тогда
Рез = Запрос.Выполнить().Выбрать();
КонецЕсли;
Пишу со слов друга, а он копает базу после местного самоделкина.
Такая конструкция там везде, а запросы часто сделаны к физическим таблицам с минимумом условий.
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ФизЛицо=Выборка.Физлицо;
Состояние("Обробатывается - "+ФизЛицо.Ссылка);
...
КонецЦикла;
Если новичок порой может забыть указать реквизит ".Ссылка", где это требуется. То тут всё наоборот. Видать, чел настолько поднаторел, что только он знает, нахера тут ссылка. (про грамматику молчу)
Запрос.Текст =
"ВЫБРАТЬ
| СостояниеРаботниковОрганизаций.Регистратор,
| СостояниеРаботниковОрганизаций.ФизЛицо,
| СостояниеРаботниковОрганизаций.Организация,
| СостояниеРаботниковОрганизаций.Приказ,
| СостояниеРаботниковОрганизаций.Состояние,
| СостояниеРаботниковОрганизаций.Период
|ИЗ
| (ВЫБРАТЬ
| СостояниеРаботниковОрганизаций.Регистратор КАК ДокументРегистратор
| ИЗ
| РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
| ГДЕ
| СостояниеРаботниковОрганизаций.Период МЕЖДУ &ДатаНачала И &ДатаКонца
| И СостояниеРаботниковОрганизаций.Организация = &Организация
| И СостояниеРаботниковОрганизаций.ФизЛицо = &ФизЛицо
| И СостояниеРаботниковОрганизаций.Приказ = &Приказ) КАК ДокРегистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
| ПО ДокРегистратор.ДокументРегистратор = СостояниеРаботниковОрганизаций.Регистратор";
.
Просто выбрать движения из регистра - это не круто.