Имя: Пароль:
1C
1C 7.7
v7: Проведение Док с ДБФ
0 work92
 
10.01.13
11:36
Не создает новый документ что с кодом не так
1 work92
 
10.01.13
11:36
Док=СоздатьОбъект("Документ.ПоступлениеТоваров");  
ДБФ = создатьОбъект("XBASE");
ДБФ.ОткрытьФайл("D:\catalog.dbf");
Док=СоздатьОбъект("Документ.ПоступлениеТоваров");
ДБФ.Первая();


 Пока ДБФ.ВКонце()=0 Цикл
     
     
      Ценаа=ДБФ.Sum;


   


Док.Новый();
// Док.МестоХранения=ДБФ.Cklad;
  //Док.Контрагент=ДБФ.Postov;
  //Док.Договор=ДБФ.Dogovor;
  //Док.НомерДок=ДБФ.Homerdok;
  //Док.ДатаДок=ДБФ.DataDok;
 
Док.НоваяСтрока();
 // Док.Товар=ДБФ.Tovar;
 // Док.Количество= ДБФ.kol;
  Док.Цена=Ценаа;//ДБФ.Sum;

   
       ДБФ.Следующая();
       Док.Записать();
        Док.Провести();
КонецЦикла;
   
   
   


   
   
КонецПроцедуры
2 Ёпрст
 
10.01.13
11:39
дык в цикл не заходит и привет
3 KRV
 
10.01.13
11:41
Док=СоздатьОбъект("Документ.ПоступлениеТоваров");  - для надежности два раза?
4 work92
 
10.01.13
11:42
Ёпрст4 что в цикл не фходит
5 KRV
 
10.01.13
11:49
ДБФ.Следующая(); - в эту строчку внимательно вкурись в СП
(2) входит в цикл ;)
6 Dolly_EV
 
10.01.13
11:53
Ваще четкий код)))

Док.Новый();
Док.НоваяСтрока();
Док.Записать();

Ты точно уверен, что на КАЖДУЮ запись из dbf тебе надо создавать ОТДЕЛЬНЫЙ док. Поступления с ОДНОЙ строкой?))
7 KRV
 
10.01.13
11:57
(6) читай код выше - там в ДБФ у него поставщики и склады.. если чо..
8 Dolly_EV
 
10.01.13
12:10
Вот так попробуй:
КолЗаписей=ДБФ.КоличествоЗаписей();
Для НомЗаписи=1 По КолЗаписей Цикл
   ДБФ.Перейти(НомЗаписи);
КонецЦикла;
9 Dolly_EV
 
10.01.13
12:14
или так:
ДБФ.Первая();
Пока ДБФ.Следующая()=1 Цикл
   Док.....
КонецЦикла;
(7) И? в конкретном примере цикл один, так что насоздается много доков с одной строкой.
Если всё сидит в одной dbf (Поставщики, доки, товар), без индекса тут не обойтись
10 KRV
 
10.01.13
12:30
зачем? ну надо ему кучу доков с одной строкой - пусть лепит..
11 KRV
 
10.01.13
12:31
(8) да не там у него ошибка..