Не записывает данные в dbf файл (7.7)
11.06.2009
16:55
#1
"Из таблицы значений ТабЗнач данные в файл не записываются, а информация о количестве записей пишется. Что я не так делаю?
Процедура ЗаписатьДанные()
База=СоздатьОбъект("XBase");
Если ФС.СуществуетФайл(КаталогИБ()+"jchpv.dbf")=0 Тогда
База.КодоваяСтраница(0);
База.ДобавитьПоле("num","Строка",10,0);
База.ДобавитьПоле("date","Дата",8,0);
База.ДобавитьПоле("client","Справочник.Клиент",,);
База.ДобавитьПоле("sum","Число",16,2);
База.СоздатьФайл(КаталогИБ()+"jchpv.dbf");
База.Записать();
База.ЗакрытьФайл();
КонецЕсли;
База.ОткрытьФайл(КаталогИБ()+"jchpv.dbf",,0);
База.ОчиститьФайл();
Для Ном=1 По ТабЗнач.КоличествоСтрок() Цикл
База.Добавить();
База.УстановитьЗначениеПоля("num",ТабЗнач.ПолучитьЗначение(Ном,"Номер"));
База.УстановитьЗначениеПоля("date",ТабЗнач.ПолучитьЗначение(Ном,"Дата"));
База.УстановитьЗначениеПоля("client",ЗначениеВСтрокуВнутр(ТабЗнач.ПолучитьЗначение(Ном,"Клиент")));
База.УстановитьЗначениеПоля("sum",ТабЗнач.ПолучитьЗначение(Ном,"Сумма"));
База.Записать();
КонецЦикла;
База.ЗакрытьФайл();
КонецПроцедуры
"
Процедура ЗаписатьДанные()
База=СоздатьОбъект("XBase");
Если ФС.СуществуетФайл(КаталогИБ()+"jchpv.dbf")=0 Тогда
База.КодоваяСтраница(0);
База.ДобавитьПоле("num","Строка",10,0);
База.ДобавитьПоле("date","Дата",8,0);
База.ДобавитьПоле("client","Справочник.Клиент",,);
База.ДобавитьПоле("sum","Число",16,2);
База.СоздатьФайл(КаталогИБ()+"jchpv.dbf");
База.Записать();
База.ЗакрытьФайл();
КонецЕсли;
База.ОткрытьФайл(КаталогИБ()+"jchpv.dbf",,0);
База.ОчиститьФайл();
Для Ном=1 По ТабЗнач.КоличествоСтрок() Цикл
База.Добавить();
База.УстановитьЗначениеПоля("num",ТабЗнач.ПолучитьЗначение(Ном,"Номер"));
База.УстановитьЗначениеПоля("date",ТабЗнач.ПолучитьЗначение(Ном,"Дата"));
База.УстановитьЗначениеПоля("client",ЗначениеВСтрокуВнутр(ТабЗнач.ПолучитьЗначение(Ном,"Клиент")));
База.УстановитьЗначениеПоля("sum",ТабЗнач.ПолучитьЗначение(Ном,"Сумма"));
База.Записать();
КонецЦикла;
База.ЗакрытьФайл();
КонецПроцедуры
"
11.06.2009
17:28
#2
"А где вы видели, чтобы в DBF был тип "Справочник.Клиент"?
> База.ДобавитьПоле("client","Справочник.Клиент",,);
И вообще - попробуйте тип задать правильно:
ДобавитьПоле(<Название>, <Тип>, <Длина>, <Точность>)
Англоязычный синоним:
AddField
Параметры:
<Название>
Строковое выражение — имя создаваемого поля.
<Тип>
Строковое или числовое выражение — тип создаваемого поля. Допустимые значения:
1 или"N" — число;
2 или "S" — строка;
3 или "D" — дата;
4 или "L" — логическое;
5 или "F" — то же, что и 1, т. е. число;
6 или "М" — memo (не поддерживается).
<Длина>
Числовое выражение — общая длина создаваемого поля.
<Точность>
Числовое выражение — длина создаваемого поля после десятичной точки (только для числовых полей).
"
> База.ДобавитьПоле("client","Справочник.Клиент",,);
И вообще - попробуйте тип задать правильно:
ДобавитьПоле(<Название>, <Тип>, <Длина>, <Точность>)
Англоязычный синоним:
AddField
Параметры:
<Название>
Строковое выражение — имя создаваемого поля.
<Тип>
Строковое или числовое выражение — тип создаваемого поля. Допустимые значения:
1 или"N" — число;
2 или "S" — строка;
3 или "D" — дата;
4 или "L" — логическое;
5 или "F" — то же, что и 1, т. е. число;
6 или "М" — memo (не поддерживается).
<Длина>
Числовое выражение — общая длина создаваемого поля.
<Точность>
Числовое выражение — длина создаваемого поля после десятичной точки (только для числовых полей).
"
1C8КонтинентСтрахование +SQL2008 не идет обмен распределенными базами данныхБух 7.7 Модуль документа Закрытие месяца
Читают тему
(гостей: 1)