Имя: Пароль:
1C
 
программирование на 1с 8.0
0 pena
 
09.09.04
13:28
просьба подсказать, осваиваю 8.0

процедура выдает ощибку, что не так?

{Обработка.ДобавитьПроводки.Форма.Форма(20)}: Ошибка при вызове метода контекста (Записать): Ошибка записи!
   Движения.Записать();

Процедура КнопкаВыполнитьНажатие(Элемент)
   Движения=РегистрыБухгалтерии.Основной.СоздатьНаборЗаписей();
   Документ=Документы.ПоступлениеТоваров.Выбрать(НачПериода,КонПериода);
   Пока Документ.Следующий()Цикл
       Если Не Документ.Проведен Тогда
           Для Каждого Строка из Документ.Товары Цикл
               Движение=Движения.Добавить();
               Движение.СчетДт=ПланыСчетов.Основной.Товары;
               Движение.СчетКт=ПланыСчетов.Основной.Поставщики;
               Движение.Период=Документ.Дата;
               Движение.Регистратор=Документ.Ссылка;
               Движение.Сумма=Строка.Сумма;
               Движение.Содержание="Оприходован товар";
           КонецЦикла;    
           Сообщить("Документ  "+Документ.Ссылка+"  допроведен");
       КонецЕсли;    
   КонецЦикла;    
   Если Движения.Количество()>0 тогда
   Движения.Записать();
   КонецЕсли;
КонецПроцедуры
1 SnarkHunter
 
09.09.04
13:33
У тебя "семерочное мышление"...
2 pauls
 
09.09.04
13:36
Вопрос к (1) - трудно ломать "семерочное мышление"?
3 pena
 
09.09.04
13:37
(1) - что не так? семерочные приемы не работают в 8?
4 psk21office
 
09.09.04
13:38
Передвинь
  Если Движения.Количество()>0 тогда
  Движения.Записать();
  КонецЕсли;

перед строкой
  Сообщить("Документ  "+Документ.Ссылка+"  допроведен");

А так получается что ты создаешь движения по всем не проведенным документам, но записывать их забываешь.
5 SnarkHunter
 
09.09.04
13:39
(2)Индивидуально...
6 pena
 
09.09.04
13:41
(4) не помогло  таже ошибка
7 44
 
09.09.04
13:48
Выбери регистр в который добавляеш движения
8 pena
 
09.09.04
13:50
(7) да ведь там указано
стр 2
Движения=РегистрыБухгалтерии.Основной.СоздатьНаборЗаписей();
9 44
 
09.09.04
13:57
Если Не Документ.Проведен Тогда
          Движения = Документ.Движения;
          Для Каждого Строка из Документ.Товары Цикл
              Движение=Движения["Основной"].Добавить();
              // ...
          КонецЦикла;    
          НаборДвиженийРегистра = Движения["Основной"];
      НаборДвиженийРегистра.Записать();

          Сообщить("Документ  "+Документ.Ссылка+"  допроведен");
      КонецЕсли;
10 pena
 
09.09.04
14:03
(9)  
Движения = Документ.Движения;
ругается на эту строчку.

PS: я пытаюсь обработкой пачку документов допровести...
11 44
 
09.09.04
14:07
Сейчас смоделирую...
12 44
 
09.09.04
14:13
Движения = Документ.ПолучитьОбъект().Движения;
13 pena
 
09.09.04
14:18
(12) все, спасибо, получилось...