Имя: Пароль:
1C
1С v8
док. КорректировкаЗаписейРегистровНакопления
,
0 lll52
 
07.11.11
12:11
Хочу из обработки вставить данные в документ.

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


Ругается на строчку: НовДвиж = ДокументКорректировки.Движения.Предоплаты.ДобавитьПриход(); ------  Поле объекта не обнаружено (Предоплаты)
Причем остальные регистры можно подставить. Наверное
какая-то галка где-то не проставлена.
В документе и в регистре галки есть - что док. является регистратором для него.
Где ошибка ?
1 Maxus43
 
07.11.11
12:14
ДокументКорректировки.Движения.Предоплаты.Добавить();
2 Maxus43
 
07.11.11
12:16
З.ы. регистр просто оборотный может
3 acsent
 
07.11.11
12:18
Регситр создал, а в документ не добавил
4 lll52
 
07.11.11
12:19
(1) Исправила на НовДвиж = ДокументКорректировки.Движения.Предоплаты.Добавить();
Та же ошибка. Ругается на этот регистр.
Регистр остатков.
(3) В движениях у документа - галка стоит.
5 Maxus43
 
07.11.11
12:20
записывай док и создавай набор записей на регистр, с отбором по этому регистратору
6 lll52
 
07.11.11
12:28
(5) не поняла совета - если раньше пишу Записать(). Все равно на том же месте - та же ошибка.

Причем когда нажимаю Ctrl+пробел на  моменте  ДокументКорректировки.Движения. --- там дается выбор из всех регистров, кроме этого. (на остальных регистрах значок "редактируется с сохранением поддержки" - т.е. делаю вывод, что они из начальной конфигурации, и возможно где-то прописаны еще в системе, или на них галка какая-то стоит, которую я тут не поставила....);
7 hhhh
 
07.11.11
12:32
(6) а отладчиком не судьба воспользоваться? Чего вы паритесь?
8 shuhard
 
07.11.11
12:33
(6) это фантазии,
кроме регистратора ни чего не влияет
9 lll52
 
07.11.11
12:49
Блин, мой косяк.
С этой ошибкой разобралась - правила текст из примера и не заменила КорректировкаЗаписейРегистров на КорректировкаЗаписейРегистровНакопления.
Должно быть так:
ДокументКорректировки = Документы.КорректировкаЗаписейРегистровНакопления.СоздатьДокумент();