Имя: Пароль:
1C
 
Запрос
0 Spyke
 
22.01.07
20:42
Привет всем!
Подскажите пожалуйста почему при выполнении обработи, кусок кода привен ниже ругается на строку    
              Запрос.Номенклатура.Удалить(0);
ошибка не выбран элемент.

ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ДатаНач по ДатаКон;
   |Номенклатура    = Регистр.ОстаткиТМЦ.Номенклатура,      
   |                 Регистр.РезервыТМЦ.Номенклатура,
   |                 Регистр.ПартииНаличие.Номенклатура;
   |Количество     = Регистр.ПартииНаличие.Количество;
   |Функция КоличествоРасход = Расход(Количество);
   |Функция КоличествоПриход = Приход(Количество) ;
   |Функция КоличествоОстаток= КонОСт(Количество);
   |Функция НачОст1 = НачОст(Количество)      ;
   |Группировка Номенклатура Без Групп Все;";

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;          
   
       Пока Запрос.Группировка() = 1 Цикл
             
   
       
         
          Если (Запрос.КОличествоРасход = 0)  и (Запрос.КоличествоПриход=0) и (Запрос.КоличествоОстаток = 0) и (Запрос.НачОст1 =0) Тогда
             
             
                 Если СПРНом.Выбран() = 1  Тогда
                 
          Запрос.Номенклатура.Удалить(0);
   КонецЕсли;
          КонецЕсли;
         

   КонецЦикла;
1 MAG
 
22.01.07
20:45
Метод можно использовать только для объектов, созданных с помощью ф-ции СоздатьОбъект(). Читайте внимательно хелпы.
2 Spyke
 
22.01.07
20:46
(1) Спасибо
3 КонецЦикла
 
22.01.07
20:46
Надо найти Запрос.Номенклатура и потом удалить
4 Spyke
 
22.01.07
20:49
(3) Вот так?
СпрНом = СоздатьОбъект("Справочник.Номенклатура");
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)

   |Период с ДатаНач по ДатаКон;
   |Номенклатура    = Регистр.ОстаткиТМЦ.Номенклатура,      
   |                 Регистр.РезервыТМЦ.Номенклатура,
   |                 Регистр.ПартииНаличие.Номенклатура;
   |Количество     = Регистр.ПартииНаличие.Количество;
   |Функция КоличествоРасход = Расход(Количество);
   |Функция КоличествоПриход = Приход(Количество) ;
   |Функция КоличествоОстаток= КонОСт(Количество);
   |Функция НачОст1 = НачОст(Количество)      ;
   |Группировка Номенклатура Без Групп Все;";

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;          
   
        Пока Запрос.Группировка() = 1 Цикл
             
   
       
         
          Если (Запрос.КОличествоРасход = 0)  и (Запрос.КоличествоПриход=0) и (Запрос.КоличествоОстаток = 0) и (Запрос.НачОст1 =0) Тогда
             
               СПрНом =НайтиПоКоду (      Запрос.Номенклатура);
                  Если СПРНом.Выбран() = 1  Тогда
                 
         СпрНом.ТекущийЭлемент().Удалить(0);
   КонецЕсли;
          КонецЕсли;
         

   КонецЦикла;
5 MAG
 
22.01.07
20:50
СПрНом =НайтиЭлемент(Запрос.Номенклатура);
6 MAG
 
22.01.07
20:51
Тпру...
СПрНом.НайтиЭлемент(Запрос.Номенклатура);
Номенкл = СпрНом.ТекущийЭлемент();
7 КонецЦикла
 
22.01.07
20:51
СпрНом.НайтиЭлеимент(Запрос.Номенклатура);
Если СпрНом.Выбран() = 1  Тогда
СпрНом.Удалить();
8 КонецЦикла
 
22.01.07
20:51
НайтиЭлемент
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн