8.х ДокументПартии в Возврат

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

  1. TopicStarter Overlay
    Signal
    Offline

    Signal

    Регистрация:
    30 июн 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    УТ 10.3.8.7
    Подскажите пожалуйста, не могу сообразить. Делаю обработку для заполнения таб. частей. Заполнять она должна реквизит ДокументПартии в тч.Товары, в ВозвратеТовараОтПокупателя. Заполнять должна просто последним документом прихода.
    Ругается: Индекс находится за границами массива
    Делаю так:

    Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт

    Товары = Объект[ИмяТабличнойЧасти];

    КолСтрокТЧ = Товары.Количество();
    Сообщить("В документе до обработки: " + КолСтрокТЧ + " строк...");

    // Находим последнее ПТИУ по каждому элементу ТЧ Товары
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Закупки.ДокументЗакупки КАК ДокПартии,
    | МАКСИМУМ(Закупки.Период) КАК Период,
    | ВозвратТоваровОтПокупателяТовары.НомерСтроки
    |ИЗ
    | Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки КАК Закупки
    | ПО ВозвратТоваровОтПокупателяТовары.Номенклатура = Закупки.Номенклатура
    |
    |СГРУППИРОВАТЬ ПО
    | Закупки.ДокументЗакупки,
    | ВозвратТоваровОтПокупателяТовары.НомерСтроки";

    Результат = Запрос.Выполнить();
    Результат = Результат.Выбрать();

    Пока Результат.Следующий() Цикл
    СтрТЧ = Товары[Результат.НомерСтроки-1];
    СтрТЧ.ДокументПартии = Результат.ДокПартии;
    КонецЦикла;

    КонецПроцедуры
  2. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Не совсем правильная методика у тебя.
    1. Запрос берет документы ВСЕ, вместо того чтобы получить оттуда номенклатуру!!! И тебе надо обращаться к регистру накопления ПартииТоваровНаСкладах. Еще бы неплохо использовать виртуальные таблицы, а не реальные...
    2. Заполнение последним документом партии - вещь довольно сомнительная, а если товар продавался не из последней партии? Будут полная каша.
    3. Ошибка вываливается из-за того, что количество строк в документе и количество строк в выборке не совпадает.

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