#0
by NcSteel
Записывал таблицу значений в текстовый файл . открываю так: До сегодняшнего дня (2 месяца) работало нормально , но теперь ТаблицаИД1 не равна ТаблицеЗначений. Смотрю в Notepad++ вроде все нормуль. Но файл большой 2,6 мег.
#4
by NcSteel
Как я понимаю это ограничение самой Тз или преобразования ? Просто работает так : Раз файл записался значит Тз позволила создать строки.
#6
by NcSteel
Хм . Следовательно если найти способ получить строку не через "Текст" то будет все корректно работать ? Есть такой способ ?
#7
by NcSteel
Есть необходимость хранить Таблицу значений во внешнем файле и подгружать ее. Думаю переделать под DBF. Или можно получить строку как то еще ?
#15
by andrewks
+ ой пардон, я ваще не туда смотрю... я тут хитромудрыми тестами параллельно занимаюсь
#16
by NcSteel
Судя по мануалу ты не прав. Но проверив и так получил: Но строка получилась не вся, а только первые 28 символов. Получается этот объект разбил сам строку . Вот паганец )
#19
by Torquader
Есть объект Scripting.FileSystemObject и его производное TextStream Единственное, что читать надо по частям - объект на размерах больше 64 Кб не всегда корректно читает командой ReadAll, а вот Read(Размер) работает прекрасно и не затыкается на символах с кодом 0 (я на нём читалку образа Flash дисков писал).
#20
by NcSteel
СтрокаИД = "{"U","0","0","0","0","0",""}" Результат этого кода: Если поменять Номерстроки на 1 и буфер так же на 1 то результат тот же.
#23
by Torquader
+ Кроме того, у объекта текст ограничение не на сам текст, а на размер (то есть максимальную длину строки), так как файлы 2-3 мегабайта через "Текст" пишутся и читаются прекрасно, если в них нет слишком длинных строк. Также следует понимать, что если в таблице значений где-то есть перевод строки, то команда Текст.ПолучитьСтроку даст только часть таблицы, а надо будет сделать "склеивание", то есть не забыть прочитать и ПолучитьСтроку и так далее, то есть For i=1 To Текст.КоличествоСтрокDo If i>1 Then s=s+LineBreak;EndIf;
#24
by andrewks
последний релиз v7plus - 11 ПрочитатьСтроку(<?>); Синтаксис ПрочитатьСтроку(<Строка>) Назначение Метод ПрочитатьСтроку считывает очередную строку и возвращает ее в параметр <Строка> без разделителя строк. Если в файле символ EndOfFile, метод ПрочитатьСтроку обрабатывать его также как объект Текст. Возвращаемое значение: 1 - строка считана; 0 - больше строк нет Метод доступен для объекта типа V7TextFile
#28
by Torquader
У тебя просто несколько строк в файле - вот и не читается, если спрашиваешь только первую. P.S. я объект текст не люблю за то, что он считывает весь файл в память (в отличие от TextStream, который читает построчно).
#29
by Torquader
Просто если в строке таблицы значений есть перевод строки, то он будет и в результирующем файле, а потом ПолучитьСтроку вернёт всё, что написано до него.
#34
by Torquader
А ты туда заглядывал ? Если добавить в текст строку так: Текст.ДобавитьСтроку(Начало+LineBreak+Конец); а потом всё это сохранить, то в файле будет уже две строки.
#35
by andrewks
если это у тебя файл обмена, и ты пишешь его сам, советую придумать некую структуру/формат выгрузки, и писать строчками/блоками, или - xml
#35
by Torquader
Конечно. А вот так должно прочитаться: Fso=CreateObject("Scripting.FileSystemObject"); s=""; While File.atEndOfStream=0 Do Только ммееддллеенннноо ...
#38
by Torquader
Что живёт в таблице значений ? Не проще ли каждую строку этой таблицы писать в строку файла - а потом построчно читать ?
#40
by Torquader
Также ещё полезно для начала проверить для своей чудо-таблицы, что Уверен, что ЧудоТаблица и НоваяЧудоТаблица совпадают ?
#42
by NcSteel
Внедрена Опитумум на ТиС77 , для того что бы данные точно записывались уникальные создается таблица с внутренним идентификатором.
#43
by Torquader
Таки ты пишешь ссылки на элементы, а не проще ли в таблицу писать внутренние ID этих элементов, а тогда будет сразу понятно, как это можно писать в строку (то есть сразу в объект текст).
#45
by Torquader
Есть, например ValueToStringInternal - это внутреннее представление объекта - то есть можно, конечно, оттуда достать ID, но проще вместо объекта в строку писать его. То есть у тебя будет файл, где в каждой строке будет записан созданный тобой ID, разделитель (например TabSymbol) и внутреннее представление объекта. При чтении такого файла ты быстро и просто восстановишь свою таблицу значений, и сможешь использовать поиск по элементу, если нужен поиск - если нет, то можно смело читать файл.
#50
by Torquader
Просто для тебя проще не всю таблицу сразу конвертить, а по строкам - конечно, дольше, но при больших объёмах есть экономия памяти (мы длинную строку не создаём)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Где прочитать какие релизы нужно устанавливать обязательно, а какие нет?
- Использование объекта "Текст". Пишу в "Текст". Ошибка "НЕ ХВАТАЕТ ПАМЯТИ"!
- Текст построчно в элементе диалога "Текст"
- Можно-ли вызвать из модуля объекта экспортную процедуру без записи объекта?
- Поясните пожалуйста какие драйвера АТОЛ платные а какие бесплатные
- Какие процедуры-функции размещать в модуле формы, а какие в модуле объекта ?
- КД 2.1, реквизит объекта в реквизит ТЧ другого объекта
В этой группе 1С
- простенькая задача в запросе сложить две строки. Как?
- Вылет 1С SQL при одновременном создании документов
- ПолучитьСоединенияИнформационнойБазы()
- Zebra GK420t - ошибка "закончилась бумага" при полном рулоне
- Не могу скачать нигде! DrWeb Cureit ... http://www.drweb.com/ - ошибки..
- Округление в запросе и как с ним бороться?
- Количество пользователей на 1 программиста
- Ошибка печати принтера этикеток Zebra 2844
- Не работает сканер в УТ, хотя все тесты прошел
- где взять шаблон для создания базы УПРАВЛЕНИЕ Торговлей 10.3
- Контекстный поис в ИндексированнаяТаблица
- УРБД и Mozilla Thunderbird
- Многофирменный учет в Бухгалтерии - разделить на 2 базы
- УТ 10.3 Отчет Взаиморасчеты с комиссионерами.
- Отчет по типу валовая прибыль
- Неудачная попытка создания объекта (BinaryData)
- Отличия УТ 10.3 от 11
- ЗУП: Расчет нормы дней за расчетный период
- Прием на работу - увольнение
- Как в построитель отчета программно добавить группировки?