есть процедура СписокПриАктивизацииСтроки
Она формирует мини отчет
строка повібору
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ТекСтрока = Элементы.Список.ТекущаяСтрока;
Если ТекСтрока = Неопределено Тогда
Возврат;
Иначе
СписокПриАктивизацииСтрокиНаСервере(ТабДок, ТекСтрока);
КонецЕсли;
КонецПроцедуры
И сам код для отчета заполнения ТабДок
&НаСервереБезКонтекста
Процедура СписокПриАктивизацииСтрокиНаСервере(ТабДок, ТекСтрока)
Макет = ПолучитьОбщийМакет("ДляУчетаМостерской");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДокументПриёмОборудования.Номер,
| ДокументПриёмОборудования.Дата,
| ДокументПриёмОборудования.Сотрудник,
| ДокументПриёмОборудования.Инв,
| ДокументПриёмОборудования.Подразделение,
| ДокументПриёмОборудования.МастерскиеСклады,
| ДокументПриёмОборудования.Модель,
| ДокументПриёмОборудования.НормерЗадачи,
| ПриёмОборудования1.ПриОсмотреВыевленоЧчто,
| ПроксимаCсервис.ПроведёныеРаботы КАК ПричинаОтправкиВнРем,
| Резерв.ПроведёныеРаботы,
| РезервСписания.ПроведёныеРаботы КАК ПричинаСписания,
| ДокументПриёмОборудования.Подразделение.ПовнаНазва,
| ДокументПриёмОборудования.Паломка,
| ДокументПриёмОборудования.Керівник,
| ДокументПриёмОборудования.Пользователь,
| ДокументПриёмОборудования.Телефон1,
| ДокументПриёмОборудования.Телефон2,
| ДокументПриёмОборудования.Телефон,
| Резерв.КомуРезерв,
| Резерв.Ссылка,
| ДокументПриёмОборудования.МОЛ,
| Резерв.Дата КАК ДатаГотовности,
| ПриёмОборудования1.Ссылка КАК СсылкаВыевл,
| ПроксимаCсервис.Ссылка КАК СсылкаСервис,
| Резерв.Ссылка КАК СсылкаГот,
| РезервСписания.Ссылка КАК СсылкаСпис,
| РезервСписания.Дата КАК Дата1,
| ДокументПриёмОборудования.Помещение,
| ДокументПриёмОборудования.Корпус
|ИЗ
| Документ.ПриёмОборудования КАК ДокументПриёмОборудования
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриёмОборудования1 КАК ПриёмОборудования1
| ПО ДокументПриёмОборудования.Номер = ПриёмОборудования1.НомерРасписки
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Резерв КАК Резерв
| ПО ДокументПриёмОборудования.Номер = Резерв.НомерРасписки
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РезервСписания КАК РезервСписания
| ПО ДокументПриёмОборудования.Номер = РезервСписания.НомерРасписки
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПроксимаCсервис КАК ПроксимаCсервис
| ПО ДокументПриёмОборудования.Номер = ПроксимаCсервис.НомерРасписки
|ГДЕ
| ДокументПриёмОборудования.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ДокументПриёмОборудования.Номер,
| ДокументПриёмОборудования.Дата,
| ДокументПриёмОборудования.Сотрудник,
| ДокументПриёмОборудования.Инв,
| ДокументПриёмОборудования.Подразделение,
| ДокументПриёмОборудования.МастерскиеСклады,
| ДокументПриёмОборудования.Модель,
| ДокументПриёмОборудования.НормерЗадачи,
| ПриёмОборудования1.ПриОсмотреВыевленоЧчто,
| ПроксимаCсервис.ПроведёныеРаботы,
| Резерв.ПроведёныеРаботы,
| РезервСписания.ПроведёныеРаботы,
| ДокументПриёмОборудования.Паломка,
| ДокументПриёмОборудования.Керівник,
| ДокументПриёмОборудования.Пользователь,
| ДокументПриёмОборудования.Телефон1,
| ДокументПриёмОборудования.Телефон2,
| ДокументПриёмОборудования.Телефон,
| ДокументПриёмОборудования.Подразделение.ПовнаНазва,
| Резерв.КомуРезерв,
| Резерв.Ссылка,
| ДокументПриёмОборудования.МОЛ,
| Резерв.Дата,
| ПриёмОборудования1.Ссылка,
| ПроксимаCсервис.Ссылка,
| РезервСписания.Ссылка,
| Резерв.Ссылка,
| РезервСписания.Дата,
| ДокументПриёмОборудования.Помещение,
| ДокументПриёмОборудования.Корпус";
Запрос.УстановитьПараметр("Ссылка", ТекСтрока);
РезультатЗапроса = Запрос.Выполнить();
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
КонецПроцедуры
Работает почти как часики но загвоздка в том что если в списке стоит группировка и при выборе строки группировки выдоит ошибку
{ОбщаяФорма.УчетМастерской.Форма(128)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
{(43, 35)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ДокументПриёмОборудования.Ссылка <<?>>= &Ссылка
как и где что добавить что б этой ошибки не было что бы оно не обращало внимание на строку группировки