Привет. Не могу разобраться... Не заполняется файл ДБФ, не видит Реквизит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;
НовыйДБФ.Записать();
НовыйДБФ.ЗакрытьФайл();
ПоказатьПо теме из базы знаний
- Стоит ли использовать Внешние компоненты для 1С?
- Реестр и экспортируемый файл для банка, формируемые из ведомости в 1С Зарплата и кадры бюджетного учреждения 8
- Загрузка товара с ценами и штрих-кодами EAN-13 в весы серии "Масса-К" для УТ 11.2.2.116 в формате dbf (переписана из обработки ТиС 9.2) на УФ для серверной базы
- Загрузка Расходных накладных из файлов-DBF (S-Market) в "Бухгалтерию Предприятия 2.0"
- Наценка товара по проценту наценки. УНФ 1.6
Найденные решения
(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) с циклом тоже ошибка...
Для каждого СтрТаб из Реквизит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;
НовыйДБФ.Записать();
конеццикла;
Показать
(3)
вот так попробуйте
вот так попробуйте
Для каждого СтрТаб из Реквизит1 цикл
НовыйДБФ.Добавить();
НовыйДБФ.Packid = СтрТаб .Packid;
НовыйДБФ.Dt = СтрТаб .Dt;
НовыйДБФ.Tp = СтрТаб .Tp;
НовыйДБФ.Account = СтрТаб .Account;
НовыйДБФ.Usr = СтрТаб .Usr;
НовыйДБФ.Dtinp = СтрТаб .Dtinp;
НовыйДБФ.Receipt = СтрТаб .Receipt;
НовыйДБФ.Dtpay = СтрТаб .Dtpay;
НовыйДБФ.Payorder = СтрТаб .Payorder;
НовыйДБФ.Countdate = СтрТаб .Countdate;
НовыйДБФ.Countvalue = СтрТаб .Countvalue;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот