Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Удалить строку из табличного поле 8,2

Удалить строку из табличного поле 8,2
Я
   KonstantinK90
 
22.09.16 - 10:37
всем привет! Подскажите как можно удалить строку вот код
Процедура ПоисНоменклатурыПоГруппам(РеализТовары,СписокГрупп,ВидГруппы) 
    
    ТЗМоя = РеализТовары.Выгрузить();      //ТЗМоя.Выбратьстроку()

    
    ////    

    Запрос = Новый Запрос;
    МенеджерВремТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.МенеджерВременныхТаблиц = МенеджерВремТаблиц;
    Запрос.Текст = "ВЫБРАТЬ
         |  *
         | ПОМЕСТИТЬ ТаблицаДляОстатков
         |ИЗ
         |   &ТЗМоя КАК Таб
         |ГДЕ
         |   Таб.Номенклатура В ИЕРАРХИИ(&Номен);
        /////////////////

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

             Если ВидГруппы = "АКБ" Тогда 
                                     
                    НоваяСтрока = ДокАКБ.Товары.Добавить();
                    ЗаполнитьЗначенияСвойств(НоваяСтрока,Результат);    
                    РеализТовары.Удалить(Результат);
                //КонецЦикла;

            ИначеЕсли ВидГруппы = "Масла" Тогда 
                       НоваяСтрока = ДокМасла.Товары.Добавить();
                       ЗаполнитьЗначенияСвойств(НоваяСтрока,Результат);
                       РеализТовары.Удалить(Результат); 
                  // КонецЦикла;

              КонецЕсли;
                                            
            //КонецЕсли;

    КонецЦикла;
    
КонецПроцедуры
 
 
   KonstantinK90
 
1 - 22.09.16 - 10:37
ошибка : {Форма.ФормаNEW.Форма(1205)}: Ошибка при вызове метода контекста (Удалить)
                       РеализТовары.Удалить(Результат); 
по причине:
Несоответствие типов (параметр номер '1')
   Defender aka LINN
 
2 - 22.09.16 - 10:43
Из таблицы обычно удаляют строки. А не выборку
   Михаил Козлов
 
3 - 22.09.16 - 10:44
В Удалить для ТЗ параметр - либо строка ТЗ, либо индекс, а не выборка из запрос.
   KonstantinK90
 
4 - 22.09.16 - 10:44
ну так выборка это и есть строка один в один
   ovrfox
 
5 - 22.09.16 - 10:46
примерно так:
мУдаления = ТЗМоя.НайтиСтроки(Новый Структура("Номенклатура", Результат.Номенклатура));
Для каждого стр из мУдаления Цикл
   ТЗМоя.Удалить(Стр);
КонецЦикла;
   KonstantinK90
 
6 - 22.09.16 - 11:01
ну вот к примеру делаю вот 
Пока Результат.Следующий() Цикл//Результат.Количество()  

            Отбор = Новый Структура("Номенклатура",Результат.Номенклатура);
            НайденНоменклатура = РеализТовары.НайтиСтроки(Отбор);
            Если НайденНоменклатура <>  Неопределено Тогда
               //Если нашли АКБ или Масла тогда удалим из документа и добавим в новый документ

             Если ВидГруппы = "АКБ" Тогда 
                 НоваяСтрока = ДокАКБ.Товары.Добавить();
                 ЗаполнитьЗначенияСвойств(НоваяСтрока,Результат);    
                 Для Каждого пСтр Из НайденНоменклатура Цикл
                    СуммаАКБ = СуммаАКБ + пСтр.Сумма;
                    РеализТовары.Удалить(пСтр);
                КонецЦикла;
            ИначеЕсли ВидГруппы = "Масла" Тогда 
                 НоваяСтрока = ДокМасла.Товары.Добавить();
                 ЗаполнитьЗначенияСвойств(НоваяСтрока,Результат);
   
                Для Каждого пСтр Из НайденНоменклатура Цикл
                    СуммаМасел = СуммаМасел + пСтр.Сумма;
                    РеализТовары.Удалить(пСтр); 
                   КонецЦикла;
              КонецЕсли;
                                            
            КонецЕсли;
    КонецЦикла;
   KonstantinK90
 
7 - 22.09.16 - 11:03
в отладчике смотрю Результат.Количество() = 505 строк а на выходе созданного документа получается 4 тыс. 100 слиним это как так может быть? 
   KonstantinK90
 
8 - 22.09.16 - 11:07
????
   KonstantinK90
 
9 - 22.09.16 - 11:07
где косяк
   Numerus Mikhail
 
10 - 22.09.16 - 11:09
В запросе
 
 Рекламное место пустует
   KonstantinK90
 
11 - 22.09.16 - 11:12
где имено подскажите
   KonstantinK90
 
12 - 22.09.16 - 11:15
помогите?
   KonstantinK90
 
13 - 22.09.16 - 11:23
??????????
   Альбатрос
 
14 - 22.09.16 - 11:25
(13) Выборка и строка тз - не одно и то же какбэ...
   KonstantinK90
 
15 - 22.09.16 - 11:34
вообще задача состоит в том что бы перед запись проверить документ на наличие моих строк (по условию) и если они есть эти строки то их нужно удалить из документа и добавить в другой новый
   KonstantinK90
 
16 - 22.09.16 - 11:36
который запрос я выше скинул в него я передаю таб часть документа перед записью и проверяю эту таб часть на наличие строк по условие если они есть мне нужно их удалить и добавить в новый документ
   Альбатрос
 
17 - 22.09.16 - 11:37
(16) ну и чего не получается? как удалить тебе подсказали.
   KonstantinK90
 
18 - 22.09.16 - 11:38
ну да спасибо!
   KonstantinK90
 
19 - 22.09.16 - 11:39
а как правильно добавить в новый документ
   Альбатрос
 
20 - 22.09.16 - 11:40
(19) Ну ты правильно добавляешь, если у тебя поля ТЧ и выборки совпадают.
   KonstantinK90
 
21 - 22.09.16 - 11:41
да совпадают
   KonstantinK90
 
22 - 22.09.16 - 11:41
а сам запрос правильный?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует