Одесса: 7°С (вода 9°С)
Киев: 1°С
Львов: 1°С

Тема: Требуется помощь клуба - вопрос по 1С8

Ответить в теме
Показано с 1 по 5 из 5
  1. Вверх #1
    Постоялец форума Аватар для mёbius
    Пол
    Женский
    Адрес
    Одесса
    Сообщений
    1,221
    Репутация
    409

    По умолчанию Требуется помощь клуба - вопрос по 1С8

    Доброго времени суток всем
    Вот есть кусок кода, который по идее должен добавлять записи в набор движений заданного док-та - регистр накопления ЗаказыПокупателей. Кусок кода находится в модуле обр-ки. Записи в набор добавляются согласно данным из ТЗ в обр-ке. По идее, в набор движений для одного док-та должны добавиться несколько записей, но почему-то добавляется только последняя запись, предыдущие затираются.
    Укажите плз на ошибку .

    Для каждого СтрокаТЗ Из Список Цикл

    Документ = СтрокаТЗ.Документ.ПолучитьОбъект();
    ТекущаяСтрока = Документ.ТабЧасть1.Получить(СтрокаТЗ.НомерСтроки-1);
    НаборДвижений = Документ.Движения.ЗаказыПокупателей;
    ТаблицаДвижений = НаборДвижений.Выгрузить();
    СтрокаДвижений = НаборДвижений.ДобавитьПриход();
    СтрокаДвижений.ДоговорКонтрагента = Документ.ДоговорКонтрагента;
    СтрокаДвижений.ЗаказПокупателя = Документ.Ссылка;
    СтрокаДвижений.Номенклатура = ТекущаяСтрока.Номенклатура;
    СтрокаДвижений.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный;
    СтрокаДвижений.Количество = ТекущаяСтрока.Количество;
    СтрокаДвижений.ЕдиницаИзмерения = ТекущаяСтрока.Номенклатура.ЕдиницаХраненияОстатков;
    СтрокаДвижений.Цена = ТекущаяСтрока.Цена;
    СтрокаДвижений.Сумма = ТекущаяСтрока.Количество * ТекущаяСтрока.Цена;
    СтрокаДвижений.Период = ТекущаяДата();
    НаборДвижений.мПериод = ТекущаяДата();
    НаборДвижений.мТаблицаДвижений = ТаблицаДвижений;

    КонецЦикла;
    Последний раз редактировалось mёbius; 29.01.2009 в 16:56.


  2. Вверх #2
    Частый гость Аватар для Yana1282
    Пол
    Женский
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    678
    Репутация
    117
    Попробуйте так:

    НаборДвижений = Документ.Движения.ЗаказыПокупателей;

    Для каждого СтрокаТЗ Из Список Цикл

    СтрокаДвижений = НаборДвижений.ДобавитьПриход();
    СтрокаДвижений.ДоговорКонтрагента = Документ.ДоговорКонтрагента;
    СтрокаДвижений.ЗаказПокупателя = Документ.Ссылка;
    СтрокаДвижений.Номенклатура = ТекущаяСтрока.Номенклатура;
    СтрокаДвижений.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный;
    СтрокаДвижений.Количество = ТекущаяСтрока.Количество;
    СтрокаДвижений.ЕдиницаИзмерения = ТекущаяСтрока.Номенклатура.ЕдиницаХраненияОстатков ;
    СтрокаДвижений.Цена = ТекущаяСтрока.Цена;
    СтрокаДвижений.Сумма = ТекущаяСтрока.Количество * ТекущаяСтрока.Цена;
    СтрокаДвижений.Период = ТекущаяДата();

    КонецЦикла;

    НаборДвижений.мПериод = ТекущаяДата();

  3. Вверх #3
    Постоялец форума Аватар для mёbius
    Пол
    Женский
    Адрес
    Одесса
    Сообщений
    1,221
    Репутация
    409
    Нет, увы (((
    Так неправильно.
    Т.к. каждая строка - это разный док-т. Щас подправлю код, чтобы было яснЕЕ: добавила в коде строку
    Документ = СтрокаТЗ.Документ.ПолучитьОбъект();

  4. Вверх #4
    Частый гость Аватар для Yana1282
    Пол
    Женский
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    678
    Репутация
    117
    Расскажите лучше, что должна делать обработка.
    А вообще набор записей еще неплохо было бы записать.
    Т.е. строка НаборДвижений.Записать() была бы тут далеко не лишней.

  5. Вверх #5
    Постоялец форума Аватар для mёbius
    Пол
    Женский
    Адрес
    Одесса
    Сообщений
    1,221
    Репутация
    409
    Ура!
    НаборДвижений.Записать() не помогает.
    А вот НаборДвижений.Записать(Ложь) помогло .
    Спасибо! Удачи !


Ответить в теме

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения