Имя: Пароль:
1C
1С v8
Отбор по записям
0 lero4ka23
 
21.11.14
08:46
Помогите пожалуйста! Есть роль ГИП их 6 человек они создают в справочике ТКП каждый свои записи. Я сделала обработку где формирую весь список созданных записей, нужно сделать так чтобы когда ГИП формировал у себя у него отображались записи только те которые он создал. Как это сделать? делаю вот так не получаеся
Процедура СформироватьНаСервере()
    
    Объект.ТЗ.Очистить();
    ТД.Очистить();

    
    Макет = Обработки.ТКП.ПолучитьМакет("Макет");
    
    ОбластьШапка = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьТаблЧасть = Макет.ПолучитьОбласть("ТаблЧасть");
    ОбластьШ = Макет.ПолучитьОбласть("Шапка");
    ОбластьШ.Параметры.НачалоПериода = НачалоПериода;
    ОбластьШ.Параметры.КонецПериода = КонецПериода;
    ОбластьШ.Параметры.Статус = Объект.Статус;
    ТД.Вывести(ОбластьШ);
    ТД.Вывести(ОбластьШапка);
    Объект.ТЗ.Очистить();
    // Получение списка ТКП.
    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                   |    ЦенаТКПСрезПоследних.ТКП,
                   |    ЦенаТКПСрезПоследних.ТКП.Наименование,
                   |    ЦенаТКПСрезПоследних.ТКП.ЗаказчикПоДоговору,
                   |    ЦенаТКПСрезПоследних.ТКП.Владелец.ОбъектЗаказ.Владелец.Заказчик,
                   |    ЦенаТКПСрезПоследних.ТКП.Код,
                   |    ЦенаТКПСрезПоследних.ТКП.ТипТКП,
                   |    ЦенаТКПСрезПоследних.ТКП.ЦенаТКП КАК ТКПЦенаТКП,
                   |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЦенаТКПСрезПоследних.Период) КАК Период,
                   |    СУММА(ЦенаТКПСрезПоследних.СуммаТКП) КАК ЦенаТКП,
                   |    ЦенаТКПСрезПоследних.ТКП.Статус.Ссылка
                   |ИЗ
                   |    РегистрСведений.ЦенаТКП.СрезПоследних(, ) КАК ЦенаТКПСрезПоследних
                   |ГДЕ
                   |    (ЦенаТКПСрезПоследних.ТКП.Статус.Ссылка = &Статус
                   |            ИЛИ &СтатусПусто)
                   |    И ЦенаТКПСрезПоследних.Период МЕЖДУ &ПериодНачало И &ПериодКонец
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЦенаТКПСрезПоследних.ТКП,
                   |    ЦенаТКПСрезПоследних.ТКП.Наименование,
                   |    ЦенаТКПСрезПоследних.ТКП.ЗаказчикПоДоговору,
                   |    ЦенаТКПСрезПоследних.ТКП.Владелец.ОбъектЗаказ.Владелец.Заказчик,
                   |    ЦенаТКПСрезПоследних.ТКП.Код,
                   |    ЦенаТКПСрезПоследних.ТКП.ТипТКП,
                   |    ЦенаТКПСрезПоследних.ТКП.ЦенаТКП,
                   |    ЦенаТКПСрезПоследних.ТКП.Статус.Ссылка";
                  
    Если ПустаяСтрока(Объект.Статус) Тогда
        Запрос.УстановитьПараметр("Статус", Неопределено);
        Запрос.УстановитьПараметр("СтатусПусто",Истина);
    Иначе
        Запрос.УстановитьПараметр("Статус", Объект.Статус);
        Запрос.УстановитьПараметр("СтатусПусто", Ложь);
    КонецЕсли;
    Запрос.УстановитьПараметр("ПериодНачало", НачалоДня(НачалоПериода));
    Запрос.УстановитьПараметр("ПериодКонец", КонецДня(КонецПериода));
    Результат = Запрос.Выполнить().Выгрузить();
    Объект.ТЗ.Загрузить(Результат);  // загрузка всех полученных ТКП в табличную часть.
                                  
     // Построение печатной формы.                  
        Для Каждого ТекСтрока ИЗ Объект.ТЗ Цикл
            ОбластьТаблЧасть.Параметры.НомерСтроки = ТекСтрока.НомерСтроки;
            ОбластьТаблЧасть.Параметры.НомерТКП = ТекСтрока.ТКП.Код;
            ОбластьТаблЧасть.Параметры.Наименование = ТекСтрока.ТКП.Наименование;
            ОбластьТаблЧасть.Параметры.ЗаказчикПоДоговору = ТекСтрока.ТКП.ЗаказчикПоДоговору;
            ОбластьТаблЧасть.Параметры.ГенЗаказчик = ТекСтрока.ТКП.Владелец.ОбъектЗаказ.Владелец.Заказчик;
            ОбластьТаблЧасть.Параметры.ТипТКП = ТекСтрока.ТКП.ТипТКП;
            ОбластьТаблЧасть.Параметры.ЦенаТКП = ТекСтрока.ТКП.ЦенаТКП;
            //ОбластьТаблЧасть.Параметры.ТЗТКПСтатус = ТекСтрока.ТКП.Статус;
            
            ТД.Вывести(ОбластьТаблЧасть);
        КонецЦикла;
        ОбластьИтоги = Макет.ПолучитьОбласть("Итоги");
        ОбластьИтоги.Параметры.Итого = Объект.ТЗ.Итог("ЦенаТКП");
        ТД.Вывести(ОбластьИтоги);

КонецПроцедуры
1 Ник второй
 
21.11.14
08:51
Может капнуть в сторону РЛС?
2 lero4ka23
 
21.11.14
08:53
неа так не хотят
3 alle68
 
21.11.14
08:58
(2) Добавить реквизит "Автор" и по нему отбирать.
4 Ненавижу 1С
 
гуру
21.11.14
09:04
(2) а они знают про РЛС?
5 lero4ka23
 
21.11.14
09:06
ага знают