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

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 152 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 152 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 152 26.11.19 13:24 Сейчас в теме
9. fromlion 152 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) это ТЗ...вообщем читаю файл, его в ТЗ на форму и потом надо сделать файл с такой же структурой....
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день