Вопрос-ответ

не пойму, как реализовать

Отзывов (4)FavoriteLoadingВ закладки

В Бухгалтерии есть отчет ОборотнаяВедомостьОСвОперУчете, в ОсновнойСхемеКомпоновкиДанных на закладке “Наборы данных” поле “ОС”, есть выражение, по которому вычисляется представление этого поля “пОС+” “+ОСкод”.

я хотел бы менять это представление в зависимости от вида оформления ( “Зеленый”, “Море” и т.д.)

в модуле формы я завел переменную:

ЗначениеПараметра = НастройкиКомпоновщика.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(“МакетОформления”));
ЭлементыФормы.ПолеВыбораОформление.Значение = ЗначениеПараметра.Значение;
ЦветОформления = ЗначениеПараметра.Значение; //юл

но в СКД ее не видно. как сделать, чтобы ее там было видно, или может другой способ какой есть осуществить такое.

В Бухгалтерии есть отчет ОборотнаяВедомостьОСвОперУчете, в ОсновнойСхемеКомпоновкиДанных на закладке “Наборы данных” поле “ОС”, есть выражение, по которому вычисляется представление этого поля “пОС+” “+ОСкод”. я хотел бы менять это представление в зависимости от вида оформления ( “Зеленый”, “Море” и т.д.) в модуле формы я завел переменную: ЗначениеПараметра = НастройкиКомпоновщика.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(“МакетОформления”)); ЭлементыФормы.ПолеВыбораОформление.Значение = ЗначениеПараметра.Значение; ЦветОформления = ЗначениеПараметра.Значение; //юл но в СКД ее не видно. как сделать, чтобы ее там было видно, или может другой способ какой есть осуществить такое. Перейти к...

Далее

Подскажите новичку в СКД

Отзывов (5)FavoriteLoadingВ закладки

Добрый день! Строю отчет для прайса в СКД, где в одной из колонок необходим перечень характеристик(размеры обуви) с их количеством. Вот сам запрос:

ВЫБРАТЬ
ПартииНоменклатурыОстатки.Номенклатура,
ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры,
ЦеныНоменклатурыСрезПоследних.КатегорияЦен,
ПартииНоменклатурыОстатки.КоличествоОстаток,
ЦеныНоменклатурыСрезПоследних.Цена,
РезервыНоменклатурыОстатки.КоличествоОстаток КАК Резерв,
ВЫБОР
КОГДА РезервыНоменклатурыОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА ПартииНоменклатурыОстатки.КоличествоОстаток
ИНАЧЕ ПартииНоменклатурыОстатки.КоличествоОстаток – РезервыНоменклатурыОстатки.КоличествоОстаток
КОНЕЦ КАК Остаток
ИЗ
РегистрНакопления.ПартииНоменклатуры.Остатки КАК ПартииНоменклатурыОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО ПартииНоменклатурыОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервыНоменклатуры.Остатки КАК РезервыНоменклатурыОстатки
ПО ПартииНоменклатурыОстатки.Номенклатура = РезервыНоменклатурыОстатки.Номенклатура

СГРУППИРОВАТЬ ПО
ПартииНоменклатурыОстатки.Номенклатура,
ЦеныНоменклатурыСрезПоследних.КатегорияЦен,
ПартииНоменклатурыОстатки.КоличествоОстаток,
ЦеныНоменклатурыСрезПоследних.Цена,
РезервыНоменклатурыОстатки.КоличествоОстаток,
ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры

 

Финальный вывод отчета:

Собственно вопрос: как это сделать по-человечески? Пока придумал только через вычисляемое поле и внешнюю функцию с отбором в цикле.. Но это очень криво и очень медленно…

Добрый день! Строю отчет для прайса в СКД, где в одной из колонок необходим перечень характеристик(размеры обуви) с их количеством. Вот сам запрос: ВЫБРАТЬ ПартииНоменклатурыОстатки.Номенклатура, ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры, ЦеныНоменклатурыСрезПоследних.КатегорияЦен, ПартииНоменклатурыОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.Цена, РезервыНоменклатурыОстатки.КоличествоОстаток КАК Резерв, ВЫБОР КОГДА РезервыНоменклатурыОстатки.КоличествоОстаток ЕСТЬ NULL ТОГДА ПартииНоменклатурыОстатки.КоличествоОстаток ИНАЧЕ ПартииНоменклатурыОстатки.КоличествоОстаток – РезервыНоменклатурыОстатки.КоличествоОстаток КОНЕЦ КАК Остаток ИЗ РегистрНакопления.ПартииНоменклатуры.Остатки КАК ПартииНоменклатурыОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних ПО ПартииНоменклатурыОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервыНоменклатуры.Остатки КАК РезервыНоменклатурыОстатки ПО ПартииНоменклатурыОстатки.Номенклатура = РезервыНоменклатурыОстатки.Номенклатура СГРУППИРОВАТЬ ПО ПартииНоменклатурыОстатки.Номенклатура, ЦеныНоменклатурыСрезПоследних.КатегорияЦен, ПартииНоменклатурыОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.Цена, РезервыНоменклатурыОстатки.КоличествоОстаток, ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры   Финальный вывод отчета: Собственно вопрос: как это сделать по-человечески? Пока придумал только через вычисляемое поле и внешнюю функцию с отбором в цикле.. Но это очень криво и очень медленно… Перейти к...

Далее

Как получить ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений через V82.ComConnector?

Отзывов (3)FavoriteLoadingВ закладки

Добрый день!  Есть необходимость подключиться к соседней базе, выполнить в ней СКД-отчет, получить результат в виде таблицы значений. Код, примерно, как ниже. Не могу сообразить, как правильно записать в последней строке параметр Тип(“ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений”), чтобы это был Com объект соседней базы. Подскажите, кто знает.

 

v8 = Новый COMОбъект("V82.ComConnector");
...
Соединение = V8.Connect(СтрокаПодключения);

Отчет = Соединение.Отчеты.Отчет.Создать();

Схема = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

Настройки = Схема.НастройкиПоУмолчанию;

Компоновщик = Соединение.NewObject("КомпоновщикМакетаКомпоновкиДанных");

Макет = Компоновщик.Выполнить(Схема, Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

...
Добрый день!  Есть необходимость подключиться к соседней базе, выполнить в ней СКД-отчет, получить результат в виде таблицы значений. Код, примерно, как ниже. Не могу сообразить, как правильно записать в последней строке параметр Тип(“ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений”), чтобы это был Com объект соседней базы. Подскажите, кто знает.   v8 = Новый COMОбъект("V82.ComConnector"); ... Соединение = V8.Connect(СтрокаПодключения); Отчет = Соединение.Отчеты.Отчет.Создать(); Схема = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = Схема.НастройкиПоУмолчанию; Компоновщик = Соединение.NewObject("КомпоновщикМакетаКомпоновкиДанных"); Макет = Компоновщик.Выполнить(Схема, Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ... Перейти к...

Далее

Как при помощи СКД сделать табличную часть документа в строку?

Отзывов (2)FavoriteLoadingВ закладки

У документа есть табличная часть.
Нужно вывести отчет  из колонок:
СсылкаДокумента, Строка1 (Тип строка)

Строка1 – Это перечень значений колонки табличной части документа

Как при помощи СКД сделать табличную часть документа в строку?

У документа есть табличная часть. Нужно вывести отчет  из колонок: СсылкаДокумента, Строка1 (Тип строка) Строка1 – Это перечень значений колонки табличной части документа Как при помощи СКД сделать табличную часть документа в строку? Перейти к...

Далее

Как посчитать дельту

Отзывов (5)FavoriteLoadingВ закладки

Формирую отчет по закупочным ценам и как определить дельту между закупочными цена, как показано на рисунке?

 

 

 

Формирую отчет по закупочным ценам и как определить дельту между закупочными цена, как показано на рисунке?       Перейти к...

Далее

Получаю неправильные настройки для СКД при использовании нескольких макетов СКД в одном отчете

Ваш отзывFavoriteLoadingВ закладки

В форме в процедуре ПриИзмененииВариатыСКД

Упрощённо:

Если Отчет.ВариатыСКД = 1 Тогда

СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Первый”);

Иначе

СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Второй”);

КонецЕсли;

URLКомпоновки = ПоместитьВоВременноеХранилище(СКД);
Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLКомпоновки));
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
Отчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное);

В модуле в Процедуре ПриКомпоновкеРезультата

:

Если ЭтотОбъект.ВариатыСКД = 1 Тогда

СКД = ЭтотОбъект.ПолучитьМакет(“Первый”);

Иначе

СКД = ЭтотОбъект.ПолучитьМакет(“Второй”);

КонецЕсли;

НастройкиСКД = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки();

Смотрю в отладчике значение НастройкиСКД.ДоступныеПоляДополнительныхОтборов – выдаёт список отборов из другого макета СКД.

А если заменить в модуле НастройкиСКД на

НастройкиСКД = СКД.НастройкиПоУмолчанию;

тогда НастройкиСКД.ДоступныеПоляДополнительныхОтборов выдаёт правильный список отборов,   но,  конечно с значениями по умолчанию.

В форме в процедуре ПриИзмененииВариатыСКД Упрощённо: Если Отчет.ВариатыСКД = 1 Тогда СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Первый”); Иначе СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Второй”); КонецЕсли; URLКомпоновки = ПоместитьВоВременноеХранилище(СКД); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLКомпоновки)); Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); Отчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное); В модуле в Процедуре ПриКомпоновкеРезультата … : Если ЭтотОбъект.ВариатыСКД = 1 Тогда СКД = ЭтотОбъект.ПолучитьМакет(“Первый”); Иначе СКД = ЭтотОбъект.ПолучитьМакет(“Второй”); КонецЕсли; НастройкиСКД = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(); … Смотрю в отладчике значение НастройкиСКД.ДоступныеПоляДополнительныхОтборов – выдаёт список отборов из другого макета СКД. А если заменить в модуле НастройкиСКД на НастройкиСКД = СКД.НастройкиПоУмолчанию; тогда НастройкиСКД.ДоступныеПоляДополнительныхОтборов выдаёт правильный список отборов,   но,  конечно с значениями по умолчанию....

Далее
Страница 20 из 46« Первая...10...1819202122...3040...Последняя »

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.