Имя: Пароль:
1C
1С v8
Не видит значения отбора по организации во внешней обработке.
,
0 igniter
 
24.02.15
22:06
Создаю обработку для документа Передача ОС по заполнению табл. части ОС из регистра накопления СтоимостьОСБУ. Необходимо что бы выводились только те ОС на которых есть остатки.
Не видит отбор по Организации. Организацию выбираю в форме.Подскажите пожалуйста в чем ошибка?

Процедура Инициализировать(Объект, ОС, ТабличноеПолеОбъекта = Неопределено)  Экспорт
ТабличнаяЧасть = Объект[ОС];

        ФормаВыбораОрганизации = ПолучитьФорму("Форма");
        ПодразделениеОтбор = ФормаВыбораОрганизации.ОткрытьМодально();
           
        
        Запрос =  Новый Запрос();
        Запрос.Текст =
        "ВЫБРАТЬ
        |    СтоимостьОСБухгалтерскийУчетОстатки.ОсновноеСредство,
        |    СтоимостьОСБухгалтерскийУчетОстатки.Организация
        |ИЗ
        |    РегистрНакопления.СтоимостьОСБухгалтерскийУчет.Остатки(&КонПериода,
        |                                                        //ОтборПоОрганизации Организация В (&ОрганизацияОтбор)                
        |                                                        ) КАК СтоимостьОСБухгалтерскийУчетОстатки";

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

КонецПроцедуры


В результате заполняет все ОС что есть в базе. Ну и сообщает что заполнено без отбора, как и задумано.
1 DirecTwiX
 
24.02.15
22:21
У тебя ПодразделениеОтбор = Неопределено.
Форма своя? Что происзодит при её закрытии? Наверно, забыл написал что-то вроде
Закрыть(ВыбранноеПодразделение);

Во-вторых, сначала пишешь "ПодразделениеОтбор"
   ПодразделениеОтбор = ФормаВыбораОрганизации.ОткрытьМодально();
а потом - "ОрганизацияОтбор"
   Запрос.УстановитьПараметр("ОрганизацияОтбор", ОрганизацияОтбор);
2 igniter
 
24.02.15
22:58
она раньше меня на нзп стояла, взял оттуда.

ФормаВыбораОрганизации = ПолучитьФорму("Форма");
        ОрганизацияОтбор = ФормаВыбораОрганизации.ОткрытьМодально();
           
        
        Запрос =  Новый Запрос();
        Запрос.Текст =
        "ВЫБРАТЬ
        |    СтоимостьОСБухгалтерскийУчетОстатки.ОсновноеСредство,
        |    СтоимостьОСБухгалтерскийУчетОстатки.Организация
        |ИЗ
        |    РегистрНакопления.СтоимостьОСБухгалтерскийУчет.Остатки(&КонПериода,
        |                                                        //ОтборПоОрганизации Организация В (&ОрганизацияОтбор)                
        |                                                        ) КАК СтоимостьОСБухгалтерскийУчетОстатки";

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

КонецПроцедуры
3 igniter
 
24.02.15
22:59
на выходе она заполняет документ всем чем есть.
4 igniter
 
25.02.15
12:33
Разобрался. Если брать организацию не из формы и параметра а  из ссылка.организация то все отлично отбирает.
Независимо от того, куда вы едете — это в гору и против ветра!