Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
#1

Загрузить DBF в TXT

26.11.2013, 12:19. Просмотров 2699. Ответов 48
Метки нет (Все метки)

Подскажите пожалуйста примером как можно с помощью 1С с DBF загрузить в TXT
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 12:19
Ответы с готовыми решениями:

Загрузить DBF файл
Всем привет. Как мне здесь уже написали 1С 7.7 не может работать с dbf файлом...

Как файл Dbf загрузить в программу 1c ?
Вообщем я хочу загрузить dbf файл в 1C.. захожу в конфигуратор..нажимаю...

кодировка Dbf
1) Как в 1с8 при создании объекта XBase указать нужную кодировку текста, чтобы...

проблема с Dbf
Есть алгоритм выгрузки заявок в dbf. далее эти заявки попадают к поставщику и...

Dbf айлы
Наверно вопрос очень простой... Пытаюсь понять для чего мне могут пригодиться...

48
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
26.11.2013, 12:45 #2
Открываешь СП и смотришь описание объектов XBase и ТекстовыйДокумент.
0
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 16:26  [ТС] #3
Fenomen, и все так легко

Добавлено через 3 часа 26 минут
Подскажите почему выводит только последнюю строку?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
    ФайлДБФ = Новый XBASE;
    ФайлДБФ.Кодировка = КодировкаXBase.OEM;
    ФайлДБФ.ОткрытьФайл(ИмяФайла);
    ФайлДБФ.Первая();
    Пока НЕ ФайлДБФ.ВКонце() Цикл
    ЛС = СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("LSHET"));
    ФАМ = СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("FAM1"));
    Текст1 = Новый ТекстовыйДокумент;
    Текст1.ДобавитьСтроку(ЛС + ";" + ФАМ);
    ФайлДБФ.Следующая();
    КонецЦикла;
    ФайлДБФ.ЗакрытьФайл();
    Текст1.Записать(Файл);
0
OrkVasya
о_____О
Эксперт 1С
219 / 219 / 36
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
26.11.2013, 16:29 #4
"Текст1 = Новый ТекстовыйДокумент;" за пределы цикла вынесите
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 18:37  [ТС] #5
Подскажите как вывести в текстовый документ десятичное значение через точку, но в файл ДБФ через запятую?
Можете еще подсказать как в текстовый документ вывести нули после запятой?
Как поставить условие если значение в файле дбф равно 0 , выводить значение в текстовый документ не нужно?
Спасибо
0
Tklwegsd
Эксперт 1С
689 / 499 / 170
Регистрация: 24.07.2013
Сообщений: 1,764
26.11.2013, 19:34 #6
Текстовый документ - это набор строк, и все числа перед выводом преобразуются в строку.
Чтобы этот процесс контролировать можно использовать функцию "формат". Она по заданной форматной строке (правилам преобразования числа в строку) формирует строковое представление числа.
С помощью нее можно определить и разделитель дробной части, и представление нуля, и дополнение нулями до необходимого количества как перед числом, так и после запятой, ну т.д.
0
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 19:51  [ТС] #7
Tklwegsd, покажите на примере что за функция такая и как ее использовать
0
Tklwegsd
Эксперт 1С
689 / 499 / 170
Регистрация: 24.07.2013
Сообщений: 1,764
26.11.2013, 19:54 #8
Описание функции есть в синтакс-помошнике (Ctrl+Shift+F1).
0
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 20:01  [ТС] #9
Tklwegsd, не умничай
0
Tklwegsd
Эксперт 1С
689 / 499 / 170
Регистрация: 24.07.2013
Сообщений: 1,764
26.11.2013, 20:13 #10
Что не понятно, спрашивай. Я же не буду все описание функции комментировать.

Кстати, в 1С есть еще и конструктор форматной строки. Он поможет быстрее создать необходимую форматную строку для представления чисел.
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 20:51  [ТС] #11
Вот сделал чтобы после запятой выводил 4 знака, но не работает?
1C
1
СЧ = Формат(СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("LASTCNTIND")), "ЧГ=0; ЧДЦ=4");
Как сделать чтобы выводила не запятую а точку???
0
Tklwegsd
Эксперт 1С
689 / 499 / 170
Регистрация: 24.07.2013
Сообщений: 1,764
26.11.2013, 22:02 #12
Цитата Сообщение от Ermak27 Посмотреть сообщение
Как сделать чтобы выводила не запятую а точку???
Это разделитель дробной части.
Форматная строка = "ЧРД=."
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 22:09  [ТС] #13
Tklwegsd, Вот сделал чтобы после запятой выводил 4 знака, но не работает?
1C
1
СЧ = Формат(СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("LASTCNTIND")), "ЧГ=0; ЧДЦ=4");
0
Tklwegsd
Эксперт 1С
689 / 499 / 170
Регистрация: 24.07.2013
Сообщений: 1,764
26.11.2013, 22:18 #14
1C
1
2
3
4
5
&НаКлиенте
Процедура Команда1(Команда)
    СЧ = Формат(1.5, "ЧГ=0; ЧДЦ=4");
    Сообщить(СЧ);
КонецПроцедуры
Результат:
1,5000

У меня работает.

Добавлено через 2 минуты
Цитата Сообщение от Ermak27 Посмотреть сообщение
СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("LASTCNTIND")
СокрЛП - результат этой функции строка, а не число. Он преобразовываться не будет.

ФайлДБФ.ПолучитьЗначениеПоля("LASTCNTIND") - здесь какой тип значения?
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 22:25  [ТС] #15
Вот я делаю так

1C
1
2
3
    СЧ = СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("LASTCNTIND"));
    СЧФ = Формат(СЧ, "ЧГ=0; ЧДЦ=4; ЧРД='.'");
Сообщить (СЧФ);
Все равно выводит без точки и без символов после точки

Добавлено через 4 минуты
Tklwegsd, Спасибо теперь понял в чем дело.
Подскажите условие, если в колонки значение = 0 ничего не выводить
0
OrkVasya
о_____О
Эксперт 1С
219 / 219 / 36
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
26.11.2013, 22:26 #16
У вас тип "Строка".
Попробуйте так:
1C
1
2
3
4
 СЧ = СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("LASTCNTIND"));
       СЧ = Число(СЧ);
    СЧФ = Формат(СЧ, "ЧГ=0; ЧДЦ=4; ЧРД='.'");
Сообщить (СЧФ);
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 22:39  [ТС] #17
Подскажите условие, если в колонки значение = 0 ничего не выводить?

И можете еще подсказать, есть три столбца ФАМ, ИМЯ, ОТЧ , вывести можно так
Сообщить(ФАМ+ИМЯ+ОТЧ);
А как можно объединить чтобы выводить в одну колонку, чтобы потом вывести
Сообщить (ФИО);
0
Tklwegsd
Эксперт 1С
689 / 499 / 170
Регистрация: 24.07.2013
Сообщений: 1,764
26.11.2013, 22:55 #18
Цитата Сообщение от Ermak27 Посмотреть сообщение
Подскажите условие, если в колонки значение = 0 ничего не выводить?
Этот вопрос к Вам, Ermak27. Что выводить в текстовый документ, когда значение = 0?
Кто же, кроме Вас, об этом знает?

Добавлено через 1 минуту
Цитата Сообщение от Ermak27 Посмотреть сообщение
И можете еще подсказать, есть три столбца ФАМ, ИМЯ, ОТЧ , вывести можно так
Сообщить(ФАМ+ИМЯ+ОТЧ);
А как можно объединить чтобы выводить в одну колонку, чтобы потом вывести
1C
1
2
ФИО = ФАМ + ИМЯ + ОЧТ;
Сообщить(ФИО);
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,195
26.11.2013, 23:43  [ТС] #19
А как посчитать сумму в колонке СЧЕТ, формат файла DBF

Добавлено через 15 минут
Почему не работает?
1C
1
2
3
4
5
6
7
8
9
10
         КОМ = ФайлДБФ.ПолучитьЗначениеПоля("KOMN");
 
        Если КОМ.Значение = 0 Тогда
            Сообщить ("ДА");
         ПР = "-" + КОМ;
     Иначе
         Сообщить ("НЕТ");
 
            ПР = КОМ;
        КонецЕсли;
0
OrkVasya
о_____О
Эксперт 1С
219 / 219 / 36
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
26.11.2013, 23:54 #20
Мало того, что код не работает, так еще и телепатия сбой дает...

Встречный вопрос.
Есть код:
1C
1
Сообщить(МалопонятноеСообщение);
Почему выдает не то, что я от него жду?

ЗЫ. Чтобы ответить на ваш вопрос, надо понять:
1. Что вы вкладываете, говоря "не работает"?
2. Что имеет ввиду платформа?
3. В первой строке значение какого типа присваивается "КОМ"?
0
26.11.2013, 23:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2013, 23:54

Кодировка .dbf
При загрузке данных из .dbf в 1С, некоторые записи записуются краказябрами....

1с 7.7 Dbf Over 2000+ Mb )
Здравствуйте, в общем ситуация печальная. 1С 7.7 Бухгалтерия с порядочным...

Конвертирование Db в Dbf
Есть db-таблицы определенной структуры. Их необходимо загружать в 1С....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru