Имя: Пароль:
1C
1С v8
Установка нового отбора в отчете ( УПП 8.2 )
0 demous
 
12.01.12
09:57
УПП 8.2 задача в том, чтобы к отчету "ТоварыНаСкладах" (ВедомостьТоварыНаСкладах) добавить новый вид отбора в настройках, там задано два ( Склад и Номенклатура ) требуется добавить отбор по Объему продукции заданному в номенклатуре, достаточно ли для этого будет добавить в эту часть кода
   // Добавление предопределенных группировок строк отчета.
   // Необходимо вызывать для каждой добавляемой группировки строки.
   // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Склад");
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");
   
   // Добавление предопределенных группировок колонок отчета.
   // Необходимо вызывать для каждой добавляемой группировки колонки.
   // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
   
   // Добавление предопределенных отборов отчета.
   // Необходимо вызывать для каждого добавляемого отбора.
   // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
   УниверсальныйОтчет.ДобавитьОтбор("Склад");
   УниверсальныйОтчет.ДобавитьОтбор("Номенклатура");

следующую строку

       УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Объем");

и

   УниверсальныйОтчет.ДобавитьОтбор("Объем");

если нет, то подскажите как это реализовать? Заранее всем очень благодарен!
1 demous
 
12.01.12
10:15
ни кто не подскажет?
2 demous
 
12.01.12
10:25
помогите пожалуйста
3 ДемонМаксвелла
 
12.01.12
10:34
Что такое "Объем продукции заданный в номенклатуре"? Если это реквизит или свойство, то типовой отчет даст тебе сделать отбор. А вообще это не гуд править универсальный отчет, чтобы изменить один из отчетов. Лучше сделать свой доп отчет.
4 demous
 
12.01.12
10:39
Я скопировал данный отчет, и делаю изменения не в типовом а в скопированном, пользуются им те кому нужны изменения в нем..
Да, в справочнике  "номенклатура" имеется поле ввода - Объем ( число )
5 demous
 
12.01.12
10:39
но реквизита такого не имеется
6 ДемонМаксвелла
 
12.01.12
10:48
бред. или объясняешь так. может ты объём единиц измерения имеешь в виду?
7 ДемонМаксвелла
 
12.01.12
10:48
Что мешает посмотреть с чем связано поле ввода?
8 demous
 
12.01.12
10:56
Элемент управления = поле ввода
тип значения = число
9 ДемонМаксвелла
 
12.01.12
11:03
удачи. у меня нет столько времени, чтобы объяснять тебе, как посмотреть, с какими данными базы данных связано поле на форме.
10 demous
 
12.01.12
11:04
ЕдиницаИзмеренияОбъема
11 demous
 
12.01.12
11:29
видимо самому мне не разобраться, опыта не хватает(
12 demous
 
12.01.12
11:47
еще раз помощи прошу
13 pessok
 
12.01.12
11:59
(12) ну так в типовом отчете и ссылайся на реквизит ЕдиницаИзмеренияОбъема
не надо ничего переписывать
14 demous
 
12.01.12
12:06
#Если Клиент Тогда
   
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ НАЧАЛЬНОЙ НАСТРОЙКИ ОТЧЕТА

// Процедура установки начальных настроек отчета по метаданным регистра накопления
//
Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
   
   // Настройка общих параметров универсального отчета
   
   // Содержит название отчета, которое будет выводиться в шапке.
   // Тип: Строка.
   // Пример:
   // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
   УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
   
   // Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки.
   // Тип: Булево.
   // Значение по умолчанию: Истина.
   // Пример:
   // УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
   УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
   
   // Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета.
   // Тип: Строка.
   // Пример:
   // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
   УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
   
   // Содержит признак необходимости вывода отрицательных значений показателей красным цветом.
   // Тип: Булево.
   // Значение по умолчанию: Ложь.
   // Пример:
   // УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
   
   // Содержит признак необходимости вывода в отчет общих итогов.
   // Тип: Булево.
   // Значение по умолчанию: Истина.
   // Пример:
   // УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь;
   
   // Содержит признак необходимости вывода детальных записей в отчет.
   // Тип: Булево.
   // Значение по умолчанию: Ложь.
   // Пример:
   // УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
   
   // Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки.
   // Тип: Булево.
   // Значение по умолчанию: Истина.
   // Пример:
   // УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь;
   
   // Содержит признак использования свойств и категорий при заполнении настроек отчета.
   // Тип: Булево.
   // Значение по умолчанию: Ложь.
   // Пример:
   // УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;
   
   // Содержит признак использования простой формы настроек отчета без группировок колонок.
   // Тип: Булево.
   // Значение по умолчанию: Ложь.
   // Пример:
   // УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;
   
   // Дополнительные параметры, переданные из отчета, вызвавшего расшифровку.
   // Информация, передаваемая в переменной ДополнительныеПараметры, может быть использована
   // для реализации специфичных для данного отчета параметрических настроек.
   
   УниверсальныйОтчет.ДобавитьПолеГруппировка("БазоваяЕдиницаИзмерения", "Номенклатура", "БазоваяЕдиницаИзмерения", "Базовая единица измерения");
   
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоЕдиницОтчетовНачальныйОстаток", "ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент", "Количество (в ед. отчетов) (нач. ост.)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоЕдиницОтчетовПриход",           "ИсточникДанных.КоличествоПриход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент", "Количество (в ед. отчетов) (приход)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоЕдиницОтчетовРасход",           "ИсточникДанных.КоличествоРасход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент", "Количество (в ед. отчетов) (расход)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоЕдиницОтчетовКонечныйОстаток",  "ИсточникДанных.КоличествоКонечныйОстаток  * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент", "Количество (в ед. отчетов) (кон. ост.)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоЕдиницОтчетовОборот",           "ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент", "Количество (в ед. отчетов) (оборот)");
   
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБазовыхЕдНачальныйОстаток",     "ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент", "Количество (в базовых единицах) (нач. ост.)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБазовыхЕдПриход",               "ИсточникДанных.КоличествоПриход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент", "Количество (в базовых единицах) (приход)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБазовыхЕдРасход",               "ИсточникДанных.КоличествоРасход * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент", "Количество (в базовых единицах) (расход)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБазовыхЕдКонечныйОстаток",      "ИсточникДанных.КоличествоКонечныйОстаток  * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент", "Количество (в базовых единицах) (кон. ост.)");
   УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБазовыхЕдОборот",               "ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент", "Количество (в базовых единицах) (оборот)");
   
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоБазовыхЕдНачальныйОстаток", "Начальный остаток", Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоБазовыхЕдПриход",           "Приход",            Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоБазовыхЕдРасход",           "Расход",            Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоБазовыхЕдКонечныйОстаток",  "Конечный остаток",  Истина, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоБазовыхЕдОборот",           "Оборот",              Ложь, "ЧЦ=15; ЧДЦ=3", "КолБазовыхЕд", "Количество (в базовых единицах)");
   
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоЕдиницОтчетовНачальныйОстаток", "Начальный остаток", Ложь, "ЧЦ=15; ЧДЦ=3", "КоличествоЕдиницОтчетов", "Количество (в ед. отчетов)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоЕдиницОтчетовПриход",           "Приход",            Ложь, "ЧЦ=15; ЧДЦ=3", "КоличествоЕдиницОтчетов", "Количество (в ед. отчетов)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоЕдиницОтчетовРасход",           "Расход",            Ложь, "ЧЦ=15; ЧДЦ=3", "КоличествоЕдиницОтчетов", "Количество (в ед. отчетов)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоЕдиницОтчетовКонечныйОстаток",  "Конечный остаток",  Ложь, "ЧЦ=15; ЧДЦ=3", "КоличествоЕдиницОтчетов", "Количество (в ед. отчетов)");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоЕдиницОтчетовОборот",           "Оборот",            Ложь, "ЧЦ=15; ЧДЦ=3", "КоличествоЕдиницОтчетов", "Количество (в ед. отчетов)");
   
   // Заполнение начальных настроек универсального отчета
   УниверсальныйОтчет.УстановитьНачальныеНастройки(Истина);
   
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоНачальныйОстаток",, Ложь,, "Количество");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоПриход",,           Ложь,, "Количество");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоРасход",,           Ложь,, "Количество");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоКонечныйОстаток",,  Ложь,, "Количество");
   УниверсальныйОтчет.ДобавитьПоказатель("КоличествоОборот",,           Ложь,, "Количество");
   
   // Добавление предопределенных группировок строк отчета.
   // Необходимо вызывать для каждой добавляемой группировки строки.
   // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Склад");
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");
   // Добавление предопределенных группировок колонок отчета.
   // Необходимо вызывать для каждой добавляемой группировки колонки.
   // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
   
   // Добавление предопределенных отборов отчета.
   // Необходимо вызывать для каждого добавляемого отбора.
   // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
   УниверсальныйОтчет.ДобавитьОтбор("Склад");
   УниверсальныйОтчет.ДобавитьОтбор("Номенклатура");

   
   // Добавление предопределенных полей порядка отчета.
   // Необходимо вызывать для каждого добавляемого поля порядка.
   // УниверсальныйОтчет.ДобавитьПорядок(<ПутьКДанным>);
   
   // Установка связи подчиненных и родительских полей
   // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДаннымРодитель>);
   
   // Установка связи полей и измерений
   // УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>);
   
   // Добавление дополнительных полей
   // Необходимо вызывать для каждого добавляемого дополнительного поля.
   // УниверсальныйОтчет.ДобавитьДополнительноеПоле(<ПутьКДанным>, <Размещение>, <Положение>);
   УниверсальныйОтчет.ДобавитьДополнительноеПоле("БазоваяЕдиницаИзмерения");
   
КонецПроцедуры // УстановитьНачальныеНастройки()

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ОТЧЕТА
   
// Процедура формирования отчета
//
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
   
   // Перед формирование отчета можно установить необходимые параметры универсального отчета.
   
   УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент,,, ЭтотОбъект);

КонецПроцедуры // СформироватьОтчет()

Функция ПолучитьТекстСправкиФормы() Экспорт
   
   Возврат "";
   
КонецФункции


////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ

// Процедура обработки расшифровки
//
Процедура ОбработкаРасшифровки(Расшифровка, Объект) Экспорт
   
   // Дополнительные параметры в расшифровывающий отчет можно передать
   // посредством инициализации переменной "ДополнительныеПараметры".
   
   ДополнительныеПараметры = Неопределено;
   УниверсальныйОтчет.ОбработкаРасшифровкиУниверсальногоОтчета(Расшифровка, Объект, ДополнительныеПараметры);
   
КонецПроцедуры // ОбработкаРасшифровки()

// Формирует структуру для сохранения настроек отчета
//
Процедура СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками) Экспорт
   
   УниверсальныйОтчет.СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками);
   
КонецПроцедуры // СформироватьСтруктуруДляСохраненияНастроек()

// Заполняет настройки отчета из структуры сохраненных настроек
//
Функция ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками) Экспорт
   
   Возврат УниверсальныйОтчет.ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками, ЭтотОбъект);
   
КонецФункции // ВосстановитьНастройкиИзСтруктуры()

// Содержит значение используемого режима ввода периода.
// Тип: Число.
// Возможные значения: 0 - произвольный период, 1 - на дату, 2 - неделя, 3 - декада, 4 - месяц, 5 - квартал, 6 - полугодие, 7 - год
// Значение по умолчанию: 0
// Пример:
// УниверсальныйОтчет.мРежимВводаПериода = 1;

#КонецЕсли
15 demous
 
12.01.12
12:08
что мне тут сделать что бы добавился отбор по Справочник.ЕдиницаИзмерения.Объем
16 demous
 
12.01.12
12:09
или переменная ИдиницаИзмеренияОбъема которая находится в номенклатуре... я уже совсем запутался...
17 pessok
 
12.01.12
12:14
ИдиницаИзмеренияОбъема которая находится в номенклатуре
Для этого не надо переписывать код. Такой отбор можно получить штатными средствами. Переписывать ничего не надо. Смотри настройки отчета в режиме предприятия
18 demous
 
12.01.12
12:21
pessok огромное спасибо, не доразобрался с настройками, еще раз благодарен!
19 pessok
 
12.01.12
12:22
(18) всегда пжаласта
20 ДемонМаксвелла
 
12.01.12
13:06
уже в (3) было "Если это реквизит или свойство, то типовой отчет даст тебе сделать отбор"
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.