|
Выгрузка в dbf | ☑ | ||
---|---|---|---|---|
0
shock3r
22.01.13
✎
11:33
|
Подскажите по выгрузке в dbf файл:
|
|||
1
shock3r
22.01.13
✎
11:34
|
ДБФ = Новый XBase;
ДБФ.Поля.Добавить("CODE","S",11); // Код - тип СТРОКА ДБФ.Поля.Добавить("NAME","S",100); // Наименование - тип СТРОКА //ДБФ.Поля.Добавить("SERVICE","L",1); // Услуга - тип Булево //ДБФ.Поля.Добавить("PRICE","N",15,2); // Цена - тип Число(длина 15, точность 2) ДБФ.СоздатьФайл("C:\obmen.dbf"); Выборка = Справочники.Номенклатура.Выбрать(); Пока Выборка.Следующий() Цикл ДБФ.Добавить(); ДБФ.CODE = Выборка.Код; ДБФ.NAME = Выборка.Наименование; //ДБФ.SERVICE = Выборка.Услуга; //ДБФ.PRICE = Выборка.Цена; ДБФ.Записать(); КонецЦикла; ДБФ.ЗакрытьФайл(); Как сделать обработку - проверку, если файл открыт другим приложением - чтобы выводилось сообщение, что файл занят? |
|||
2
cw014
22.01.13
✎
11:35
|
Попытка
ДБФ.СоздатьФайл("C:\obmen.dbf"); Исключение Сообщить("Файл открыт в другой программе"); Возврат; КонецПопытки; |
|||
3
shock3r
22.01.13
✎
11:36
|
(2) спасибо, то что нужно
|
|||
4
shock3r
22.01.13
✎
11:41
|
(2) что-то криво, не хочет он на исключение прыгать
|
|||
5
Kreont
22.01.13
✎
11:48
|
XBase (XBase)
Открыта (IsOpen) Синтаксис: Открыта() Возвращаемое значение: Тип: Булево. Истина - файл открыт; Ложь - файл не открыт. |
|||
6
shock3r
22.01.13
✎
11:50
|
(5) Вообщем вот рабочий вариант, может кому-то будет полезен.
ДБФ = Новый XBase; Попытка ДБФ.СоздатьФайл("C:\obmen.dbf"); Исключение Сообщить("Файл открыт в другой программе"); Возврат; Возврат; КонецПопытки; ДБФ.Кодировка = КодировкаXBase.OEM; ДБФ.Поля.Добавить("CODE","S",11); // Код - тип СТРОКА ДБФ.Поля.Добавить("NAME","S",100); // Наименование - тип СТРОКА //ДБФ.Поля.Добавить("SERVICE","L",1); // Услуга - тип Булево //ДБФ.Поля.Добавить("PRICE","N",15,2); // Цена - тип Число(длина 15, точность 2) //ДБФ.СоздатьФайл("C:\obmen.dbf"); Выборка = Справочники.Номенклатура.Выбрать(); Пока Выборка.Следующий() Цикл ДБФ.Добавить(); ДБФ.CODE = Выборка.Код; ДБФ.NAME = Выборка.Наименование; //ДБФ.SERVICE = Выборка.Услуга; //ДБФ.PRICE = Выборка.Цена; ДБФ.Записать(); КонецЦикла; ДБФ.ЗакрытьФайл(); |
|||
7
Дядя Вова
22.01.13
✎
11:53
|
(6) Сказали же в (5):
Если ДБФ.Открыта() Тогда Сообщить("Файл открыт в другой программе"); Возврат; Иначе ДБФ.СоздатьФайл("C:\obmen.dbf"); |
|||
8
cw014
22.01.13
✎
11:56
|
(7) Эээээ, это как? Создается экземпляр объекта XBase и вдруг он сразу становится открытым в другой программе?
|
|||
9
shock3r
22.01.13
✎
11:59
|
(7) Я затупил
|
|||
10
shock3r
22.01.13
✎
11:59
|
(7) ДБФ = Новый XBase;
ДБФ.Кодировка = КодировкаXBase.OEM; //dos кодировка ДБФ.Поля.Добавить("CODE","S",11); // Код - тип СТРОКА ДБФ.Поля.Добавить("NAME","S",100); // Наименование - тип СТРОКА ДБФ.СоздатьФайл("C:\obmen.dbf"); Если НЕ ДБФ.Открыта() Тогда Сообщить("Файл открыт в другой программе", СтатусСообщения.Важное); Возврат; КонецЕсли; //Попытка // ДБФ.СоздатьФайл("C:\obmen.dbf"); //Исключение // Сообщить("Файл открыт в другой программе"); // Возврат; //Возврат; //КонецПопытки; ////////////////////ДБФ.Кодировка = КодировкаXBase.OEM; //dos кодировка ////////////////////ДБФ.Поля.Добавить("CODE","S",11); // Код - тип СТРОКА ////////////////////ДБФ.Поля.Добавить("NAME","S",100); // Наименование - тип СТРОКА //ДБФ.Поля.Добавить("SERVICE","L",1); // Услуга - тип Булево //ДБФ.Поля.Добавить("PRICE","N",15,2); // Цена - тип Число(длина 15, точность 2) //ДБФ.СоздатьФайл("C:\obmen.dbf"); Выборка = Справочники.Номенклатура.Выбрать(); Пока Выборка.Следующий() Цикл ДБФ.Добавить(); ДБФ.CODE = Выборка.Код; ДБФ.NAME = Выборка.Наименование; //ДБФ.SERVICE = Выборка.Услуга; //ДБФ.PRICE = Выборка.Цена; ДБФ.Записать(); КонецЦикла; ДБФ.ЗакрытьФайл(); |
|||
11
Reset
22.01.13
✎
12:17
|
Может, все таки ОткрытьФайл() а не создать?
|
|||
12
Reset
22.01.13
✎
12:19
|
(8) А, хотя видимо если уже сужествует и открыт в другой базе, то не удается перезаписать (пересоздать)
|
|||
13
shock3r
22.01.13
✎
12:30
|
(12) да совершенно верно... один будет выгружать из dbf в дос, а второй будет пытаться выгрузить из 1С в dbf, нужно было эту ситуация предусмореть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |