8.х Как отметить по отбору документы на удаление?

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем MyNameNoName, 31 май 2013.

  1. TopicStarter Overlay
    MyNameNoName
    Online

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Хочу по определенному отбору отметить документы на удаление(требование-накладная). Если в документе в 1-ой строке проходит в аналитике определенный заказ, то поставить этот документ на удаление. Вот код.
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Выборка = Документы.ТребованиеНакладная.Выбрать();
    Пока Выборка.Следующий() Цикл
    Объект = Выборка.ПолучитьОбъект();
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ТребованиеНакладная.Материалы.(
    |        НоменклатурнаяГруппа.Код КАК Аналитика
    |    )
    |ИЗ
    |    Документ.ТребованиеНакладная КАК ТребованиеНакладная
    |ГДЕ
    |    ТребованиеНакладная.Ссылка = &ТекущийДокумент";
    Заказ = Запрос.Выполнить().Выгрузить();
    
    Для Каждого ВыборкаПоСтрокам Из Заказ Цикл
    Заказ2 = ВыборкаПоСтрокам.Аналитика;
    Если Заказ2 = "000000001" Тогда
    Объект.УстановитьПометкуУдаления(Истина);
    КонецЕсли;
    КонецЦикла;
    
    КонецЦикла;
    КонецПроцедуры
    
  2. TopicStarter Overlay
    MyNameNoName
    Online

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Не могу именно к таблице этого документа достучаться.
  3. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    сделайте сразу запрос с отбором. а уже потом придвижении по выборке получайте обЪект и устанавливайте пометку удаления
  4. TopicStarter Overlay
    MyNameNoName
    Online

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Мне нужен конструктор запроса или конструктор запроса с обработкой результата?
    В каком поле там сделать отбор?
  5. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    на вкладке "условия" конструктора запроса
  6. TopicStarter Overlay
    MyNameNoName
    Online

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Не понимаю. Какое условие там должно быть? Как именно к этому документу обратиться?
  7. TopicStarter Overlay
    MyNameNoName
    Online

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Все дело в строке
    Код:
    ТребованиеНакладная.Ссылка = &ТекущийДокумент";
    
    Что-то в ней не так.
  8. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    во первых где запрос.установитьпараметр("текущийдокумент", .....) ?
  9. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здравствуйте!
    Тут все не так
    1. Учитесь писать код грамотно
    2. Черти что понаписали
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ТребованиеНакладнаяМатериалы.Ссылка
    |ИЗ
    | Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
    |ГДЕ
    | ТребованиеНакладнаяМатериалы.НоменклатурнаяГруппа.Код = &Код
    |
    |СГРУППИРОВАТЬ ПО
    | ТребованиеНакладнаяМатериалы.Ссылка";
    
    Запрос.УстановитьПараметр("Код", "000000001");
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
    
    Объект = Выборка.Ссылка.ПолучитьОбъект();
    Объект.УстановитьПометкуУдаления(Истина);
    КонецЦикла;
    
    КонецПроцедуры
    

Поделиться этой страницей