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) да не там у него ошибка..
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший