Не заполняется файл ДБФ

1. user1296699 26.11.19 13:04 Сейчас в теме
Привет. Не могу разобраться... Не заполняется файл ДБФ, не видит Реквизит1... Процедура на клиенте. как я понимаю ошибка из-за того что ТЗ на сервере?!
&НаКлиенте 
Процедура ЗагрузитьДанныеИзФайла()
ПутьКФайлу = Новый Файл(КаталогБиллинг);
НашеИмяФайла = Лев(ПутьКФайлу.ИмяБезРасширения,8)+".dbf";
НашПолныйПутьФайла = КаталогВременныхФайлов()+НашеИмяФайла;
КопироватьФайл(КаталогБиллинг,НашПолныйПутьФайла);
ФайлДБФ = Новый XBase; 
ФайлДБФ.ОткрытьФайл(НашПолныйПутьФайла,,Истина); 
ФайлДБФ.Первая();
Реквизит1.Очистить();
Пока НЕ ФайлДБФ.ВКонце() Цикл
Если Лев(ФайлДБФ.Account,3) = УчастокКод тогда
НоваяСтрока = Реквизит1.Добавить();
НоваяСтрока.Packid = СокрЛП(СтрЗаменить(ФайлДБФ.Packid," ",""));
НоваяСтрока.Dt = СокрЛП(СтрЗаменить(ФайлДБФ.Dt," ",""));
НоваяСтрока.Tp = СокрЛП(СтрЗаменить(ФайлДБФ.Tp," ",""));
НоваяСтрока.Account = СокрЛП(СтрЗаменить(ФайлДБФ.Account," ",""));
НоваяСтрока.Sum = СокрЛП(СтрЗаменить(ФайлДБФ.Sum," ",""));
НоваяСтрока.Service = СокрЛП(СтрЗаменить(ФайлДБФ.Service," ",""));
НоваяСтрока.Target = СокрЛП(СтрЗаменить(ФайлДБФ.Target," ",""));
НоваяСтрока.Usr = СокрЛП(СтрЗаменить(ФайлДБФ.Usr," ",""));
НоваяСтрока.Dtinp = СокрЛП(СтрЗаменить(ФайлДБФ.Dtinp," ",""));
НоваяСтрока.Receipt = СокрЛП(СтрЗаменить(ФайлДБФ.Receipt," ",""));
НоваяСтрока.Dtpay = СокрЛП(СтрЗаменить(ФайлДБФ.Dtpay,""," "));
НоваяСтрока.Payorder = СокрЛП(СтрЗаменить(ФайлДБФ.Payorder," ",""));
НоваяСтрока.Countdate = СокрЛП(СтрЗаменить(ФайлДБФ.Countdate," ",""));
НоваяСтрока.Countvalue = СокрЛП(СтрЗаменить(ФайлДБФ.Countvalue," ",""));
КонецЕсли;
ФайлДБФ.Следующая(); 
КонецЦикла;
ФайлДБФ.ЗакрытьФайл();
НовыйДБФ = Новый XBase;	
НовыйДБФ.Поля.Добавить("Packid","N",10);     
НовыйДБФ.Поля.Добавить("Dt","D",8);
НовыйДБФ.Поля.Добавить("Tp","S",1);
НовыйДБФ.Поля.Добавить("Account","N",9);
НовыйДБФ.Поля.Добавить("Sum","N",8,2);
НовыйДБФ.Поля.Добавить("Service","N",8,2);
НовыйДБФ.Поля.Добавить("Target","N",1);
НовыйДБФ.Поля.Добавить("Usr","N",10);
НовыйДБФ.Поля.Добавить("Dtinp","D",8);
НовыйДБФ.Поля.Добавить("Receipt","N",1);
НовыйДБФ.Поля.Добавить("Dtpay","D",8);
НовыйДБФ.Поля.Добавить("Payorder","S",12);
НовыйДБФ.Поля.Добавить("Countdate","D",8);
НовыйДБФ.Поля.Добавить("Countvalue","N",6);

Каталог = НЕРАЗНЕСЕНО + "\" + НашеИмяФайла;
НовыйДБФ.СоздатьФайл(Каталог,);
НовыйДБФ.Записать();

 
НовыйДБФ.Добавить();
НовыйДБФ.Packid = Реквизит1.Packid;
НовыйДБФ.Dt = Реквизит1.Dt;
НовыйДБФ.Tp = Реквизит1.Tp;
НовыйДБФ.Account = Реквизит1.Account;
НовыйДБФ.Usr = Реквизит1.Usr;
НовыйДБФ.Dtinp = Реквизит1.Dtinp;
НовыйДБФ.Receipt = Реквизит1.Receipt;
НовыйДБФ.Dtpay = Реквизит1.Dtpay;
НовыйДБФ.Payorder = Реквизит1.Payorder;
НовыйДБФ.Countdate = Реквизит1.Countdate;
НовыйДБФ.Countvalue = Реквизит1.Countvalue;

НовыйДБФ.Записать();
НовыйДБФ.ЗакрытьФайл();
Показать
По теме из базы знаний
Найденные решения
9. fromlion 180 26.11.19 13:26 Сейчас в теме
(3)
вот так попробуйте
Для каждого СтрТаб из Реквизит1 цикл 
НовыйДБФ.Добавить(); 

НовыйДБФ.Packid = СтрТаб .Packid; 
НовыйДБФ.Dt = СтрТаб .Dt; 
НовыйДБФ.Tp = СтрТаб .Tp; 
НовыйДБФ.Account = СтрТаб .Account; 
НовыйДБФ.Usr = СтрТаб .Usr; 
НовыйДБФ.Dtinp = СтрТаб .Dtinp; 
НовыйДБФ.Receipt = СтрТаб .Receipt; 
НовыйДБФ.Dtpay = СтрТаб .Dtpay; 
НовыйДБФ.Payorder = СтрТаб .Payorder; 
НовыйДБФ.Countdate = СтрТаб .Countdate; 
НовыйДБФ.Countvalue = СтрТаб .Countvalue;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. fromlion 180 26.11.19 13:07 Сейчас в теме
(1) судя по коду Реквизит1 это либо табличная часть либо таблица значений. А в дбф он ее не заполняет потому как нужно обходить коллекцию в цикле, либо обратится к конкретному индексу.
3. user1296699 26.11.19 13:10 Сейчас в теме
(2) с циклом тоже ошибка...
Для каждого СтрТаб из Реквизит1 цикл 
НовыйДБФ.Добавить();

НовыйДБФ.Packid = Реквизит1.Packid;
НовыйДБФ.Dt = Реквизит1.Dt;
НовыйДБФ.Tp = Реквизит1.Tp;
НовыйДБФ.Account = Реквизит1.Account;
НовыйДБФ.Usr = Реквизит1.Usr;
НовыйДБФ.Dtinp = Реквизит1.Dtinp;
НовыйДБФ.Receipt = Реквизит1.Receipt;
НовыйДБФ.Dtpay = Реквизит1.Dtpay;
НовыйДБФ.Payorder = Реквизит1.Payorder;
НовыйДБФ.Countdate = Реквизит1.Countdate;
НовыйДБФ.Countvalue = Реквизит1.Countvalue;

НовыйДБФ.Записать();
конеццикла;
Показать
6. fromlion 180 26.11.19 13:24 Сейчас в теме
9. fromlion 180 26.11.19 13:26 Сейчас в теме
(3)
вот так попробуйте
Для каждого СтрТаб из Реквизит1 цикл 
НовыйДБФ.Добавить(); 

НовыйДБФ.Packid = СтрТаб .Packid; 
НовыйДБФ.Dt = СтрТаб .Dt; 
НовыйДБФ.Tp = СтрТаб .Tp; 
НовыйДБФ.Account = СтрТаб .Account; 
НовыйДБФ.Usr = СтрТаб .Usr; 
НовыйДБФ.Dtinp = СтрТаб .Dtinp; 
НовыйДБФ.Receipt = СтрТаб .Receipt; 
НовыйДБФ.Dtpay = СтрТаб .Dtpay; 
НовыйДБФ.Payorder = СтрТаб .Payorder; 
НовыйДБФ.Countdate = СтрТаб .Countdate; 
НовыйДБФ.Countvalue = СтрТаб .Countvalue;
Показать
10. user1296699 26.11.19 13:30 Сейчас в теме
4. Kongo2019 26.11.19 13:16 Сейчас в теме
7. user1296699 26.11.19 13:24 Сейчас в теме
(4)не обнаружено поле объекта Реквизит1.Packid;
5. Ганс 26.11.19 13:17 Сейчас в теме
Реквизит1 это что? Вообще думается мне что ваш путь лежит &НаСервере
8. user1296699 26.11.19 13:25 Сейчас в теме
(5) это ТЗ...вообщем читаю файл, его в ТЗ на форму и потом надо сделать файл с такой же структурой....
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот