[СКД] Данные нижеприведенного запроса по контактной информации контрагентов выводятся с помощью СКД в табличный документ.
1. Как отобразить колонку АДРЕС в группировках?
При группировке данных по контрагентам отчет выводится в виде
Однако известно, что у каждого контрагента всегда введен один адрес и пользователи хотят видеть его в отдельной колонке на уровне группировки, а не в детальных записях. Каким образом, не изменяя текст запроса, можно получить отчет в виде
2. Следующий запрос выводит в отчет, построенный на основе СКД, список авансовых отчетов..
Получается отчет виде
Дата Номер Сумма документа
09.06.09 00000000002 2 400,00
19.06.09 00000000003 401 000,00
13.11.09 00000000004 1 200,00
Каким образом сделать так, чтобы номер выводился в отчет без лидирующих нулей?
Дата Номер Сумма документа
09.06.09 2 2 400,00
19.06.09 3 401 000,00
13.11.09 4 1 200,00
ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент,
КонтактнаяИнформация.Вид КАК ВидКонтакта,
КонтактнаяИнформация.Тип КАК ТипКонтакта,
КонтактнаяИнформация.Представление КАК ПредставлениеКонтакта
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО (КонтактнаяИнформация.Объект = Контрагенты.Ссылка)
ПоказатьПри группировке данных по контрагентам отчет выводится в виде
Однако известно, что у каждого контрагента всегда введен один адрес и пользователи хотят видеть его в отдельной колонке на уровне группировки, а не в детальных записях. Каким образом, не изменяя текст запроса, можно получить отчет в виде
2. Следующий запрос выводит в отчет, построенный на основе СКД, список авансовых отчетов..
ВЫБРАТЬ
АвансовыйОтчет.Номер,
АвансовыйОтчет.Дата,
АвансовыйОтчет.СуммаДокумента
ИЗ
Документ.АвансовыйОтчет КАК АвансовыйОтчет
Получается отчет виде
Дата Номер Сумма документа
09.06.09 00000000002 2 400,00
19.06.09 00000000003 401 000,00
13.11.09 00000000004 1 200,00
Каким образом сделать так, чтобы номер выводился в отчет без лидирующих нулей?
Дата Номер Сумма документа
09.06.09 2 2 400,00
19.06.09 3 401 000,00
13.11.09 4 1 200,00
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Второй пункт я сделал сам,
в принципе это - не сложно,
делаем форму отчета,
в ней сами прописываем команду Сформировать и
в ней пишем код ниже:
в принципе это - не сложно,
делаем форму отчета,
в ней сами прописываем команду Сформировать и
в ней пишем код ниже:
&НаКлиенте
Процедура Сформировать(Команда)
Для Ном=1 По Результат.ВысотаТаблицы Цикл
Область = Результат.Область("R"+Ном+"C2");
Пока Найти(Область.Текст, "0") Цикл
Область.Текст = СтрЗаменить(Область.Текст, 0, "");
КонецЦикла
КонецЦикла;
КонецПроцедуры
Показать
(4) Да. Нолики не теряются,
выкладываю нормальный код по этому вопросу.
В модуле объекта
выкладываю нормальный код по этому вопросу.
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьСРВ();
Для Ном=1 По Результат.ВысотаТаблицы Цикл
Область = Результат.Область("R"+Ном+"C2");
Пока Лев(Область.Текст, 1) = "0" Цикл
Область.Текст = Сред(Область.Текст, 2);
КонецЦикла
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура СформироватьСРВ()
Результат.Очистить();
СКД = РеквизитФормыВЗначение("Отчет",Тип("ОтчетОбъект")).ПолучитьСКД();
КомпМак = Новый КомпоновщикМакетаКомпоновкиДанных;
ПроцКД = Новый ПроцессорКомпоновкиДанных;
ПроцКД.Инициализировать(КомпМак.Выполнить(СКД, СКД.НастройкиПоУмолчанию));
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.ОтображатьПроцентВывода = Ложь;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцКД, Ложь);
КонецПроцедуры
ПоказатьВ модуле объекта
Функция ПолучитьСКД() Экспорт
возврат ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КонецФункции // ПолучитьМакет() Экспорт()
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот