![]() |
![]() |
![]() |
|
Добавление записей в документ корректировка записей регистра | ☑ | ||
---|---|---|---|---|
0
wiseserg
17.01.12
✎
11:02
|
Добрый день!Помогите новичку, подскажите , что я делаю не так
вопрос по документу корректировка записей регистров. 1. была задача программно сформировать документ Корректировка записей регистров вот ее решение //ВыбТипЦен, ВыбДок,ТипЦен - выбираются из формы //ТаблицаНоменклатуры - таблица значний с кодом номенклатуры и значением цены ТипЦен = ВыбТипЦен; Валюта = Справочники.Валюты.НайтиПоКоду("643"); ЕдИзм = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт"); Для Каждого Текстрока Из ТаблицаНоменклатуры Цикл Товар = Справочники.Номенклатура.НайтиПоКоду(ТекСтрока.Код); НаборЗаписей =РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ВыбДок); НаборЗаписей.Добавить(); Для Каждого Запись Из НаборЗаписей Цикл Запись.Период = ВыбДок.Дата; Запись.Номенклатура = Товар.Ссылка; Запись.ТипЦен = ТипЦен.Ссылка; Запись.ХарактеристикаНоменклатуры =""; Запись.Валюта = Валюта.Ссылка; Запись.ЕдиницаИзмерения = ЕдИзм.Ссылка; Запись.Цена = ТекСтрока.Цена; КонецЦикла; НаборЗаписей.Записать(); КонецЦикла Если выполняю код с одним элементом, т.е. без перебора Таблицы значений . то все нормально. запись добавляется, а если пытаюсь загрузить номенклатуру из таблицы значений, то ничего не происходит подскажите как правильно работать с набором записей |
|||
1
Wobland
17.01.12
✎
11:04
|
навскидку: после установки отбора прочитать ещё надо
|
|||
2
Господин ПЖ
17.01.12
✎
11:07
|
в (0) какое-то ацкое шапито с циклами...
|
|||
3
luckyluke
17.01.12
✎
11:08
|
вот так, думаю заработает:
ТипЦен = ВыбТипЦен; Валюта = Справочники.Валюты.НайтиПоКоду("643"); ЕдИзм = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт"); НаборЗаписей =РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ВыбДок); Для Каждого Текстрока Из ТаблицаНоменклатуры Цикл Товар = Справочники.Номенклатура.НайтиПоКоду(ТекСтрока.Код); Запись = НаборЗаписей.Добавить(); Запись.Период = ВыбДок.Дата; Запись.Номенклатура = Товар.Ссылка; Запись.ТипЦен = ТипЦен.Ссылка; Запись.ХарактеристикаНоменклатуры =""; Запись.Валюта = Валюта.Ссылка; Запись.ЕдиницаИзмерения = ЕдИзм.Ссылка; Запись.Цена = ТекСтрока.Цена; КонецЦикла; НаборЗаписей.Записать(); |
|||
4
ssh2006
17.01.12
✎
11:10
|
Заполнение корректировки регистров по движениям другого документа
Если Не ВыбДокумент = Неопределено Тогда НаборЗаписей = РегистрыНакопления.ПартииТоваровНаСкладах.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ВыбДокумент); НаборЗаписей.Прочитать(); Движения.ПартииТоваровНаСкладах.Загрузить(НаборЗаписей.Выгрузить()); Для каждого Запись Из Движения.ПартииТоваровНаСкладах Цикл Запись.Период = Неопределено; Запись.Регистратор = Неопределено; //Запись.Количество = - Запись.Количество; //сторно //Запись.Стоимость = - Запись.Стоимость; //сторно КонецЦикла; КонецЕсли; |
|||
5
wiseserg
17.01.12
✎
11:24
|
Спасибо за помощь, получилось
надо было поместить Запись = НаборЗаписей.Добавить(); в цикл перебора таблицы значений |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |