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