[РЕШЕНО] Как позиционироваться на нужной строке документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Peroman, 18 мар 2015.

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Всем доброго времени суток!

    Листинг:
    Код:
        Запрос = Новый Запрос;
    
        ДокументОбъект = ОснованиеДокумента.ПолучитьОбъект(); 
       Запрос.Текст =
            "ВЫБРАТЬ
            |    _ПеремещениеБракаТовары.Номенклатура,
            |    _ПеремещениеБракаТовары.Imai,
            |    _ПеремещениеБракаТовары.СтатусПеремещения
            |ИЗ
            |    Документ._ПеремещениеБрака.Товары КАК _ПеремещениеБракаТовары
            |ГДЕ
            |    _ПеремещениеБракаТовары.Ссылка.Дата = &ДатаДокументаОснования
            |    И _ПеремещениеБракаТовары.Ссылка.Номер = &НомерДокументаОснования";
       
        Запрос.УстановитьПараметр("ДатаДокументаОснования", ДатаДокументаОснования);
        Запрос.УстановитьПараметр("НомерДокументаОснования", НомерДокументаОснования);
        РезультатЗапроса = Запрос.Выполнить();
        Выборка = РезультатЗапроса.Выбрать();
            Для каждого ТекСтрокаНоменклатуры Из Товары Цикл
                Пока Выборка.Следующий() Цикл
                    Если ТекСтрокаНоменклатуры.Imai = Выборка.imai  Тогда
                       
                    КонецЕсли;
                КонецЦикла;
            КонецЦикла;
        КонецЕсли;
    
    Мне нужно при отработки условия
    Код:
    Если ТекСтрокаНоменклатуры.Imai = Выборка.imai  Тогда
    в ДокументеОбъекте поменять реквизит табличной части этого документа.
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    запросом выбрать номер строки из ТЧ и использовать его в качестве индекса как НомерСтроки - 1.
  3. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    По сути мне надо было, чтобы если я создаю документ " Перемещение товара",
    на основании документ "Перемещение брака"(не типовой документ), во втором документе
    менялся реквизит СтатусПеремещения. И я подумал, нафиг запрос когда я и так уже имею нужный мне документ и сделал так:
    Код:
        ДокументОбъект = ОснованиеДокумента.ПолучитьОбъект();
        Если ТипЗНч(ОснованиеДокумента) = Тип("ДокументСсылка._ПеремещениеБрака")Тогда
            ТоварыОснования = ДокументОбъект.Товары;
            Для Каждого Товар Из ТоварыОснования Цикл
                Для каждого ТекСтрокаНоменклатуры Из Товары Цикл
                    Если Товар.imai = ТекСтрокаНоменклатуры.Imai Тогда
                        Товар.СтатусПеремещения = Перечисления._СтатусПеремещения.Выполнено;
                    КонецЕсли;
                    ДокументОбъект.Записать();
                КонецЦикла;
            КонецЦикла;
        КонецЕсли;
    
    Может не совсем красиво (совсем не красиво :) ), но работает.

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