Имя: Пароль:
1C
1C 7.7
v7: получаемая строка превысит допустимые размеры, как побороть?
0 pvase
 
20.01.12
15:19
Если в строке идет подряд больше 499 символов (без переноса строк "РазделительСтрок"), то такой текст в окно сообщений вывести нельзя. Попытался его показать через объект "Текст" ошибка та же: "Одна из строк исходного текста превышает допустимые размеры".
Как можно обойти это ограничение и увидеть текст? (Это текст запроса на SQL, надо отловить где в нем ошибка).
1 Sh1ko
 
20.01.12
15:21
показывай кусками, в чем проблема?
2 aleks-id
 
20.01.12
15:21
запиши в файл
3 Mikeware
 
20.01.12
15:23
Процедура глПоказатьТекстЗапроса(ТекстЗапроса, Заголовок) Экспорт
   Текст=СоздатьОбъект("Текст");
   Текст.ДобавитьСтроку(ТекстЗапроса);
   Текст.Показать(Заголовок);
КонецПроцедуры
4 pvase
 
20.01.12
15:25
(1) Как вариант, думал может проще есть, а так придеться каждые 499 символов вставлять перенос.
(2) Тоже выход.
(3) Так и делал:
СтрРез = "";
   Для Н = 1 По 500 Цикл
       СтрРез = СтрРез + "A";
   КонецЦикла;
   //Сообщить(СтрРез);
   ТекстРез = СоздатьОбъект("Текст");
   ТекстРез.ДобавитьСтроку(СтрРез);
   ТекстРез.Показать("");
А в ответ ошибка.
5 pvase
 
20.01.12
15:27
Как вариант, можно еще через RichText показать используя ActiveX на форме.
6 Zypse
 
20.01.12
15:29
Можно попробовать через V7Plus(Объект V7TextFile)
7 andrewks
 
20.01.12
15:29
(6) и чем он лучше, чем Текст?
8 Zypse
 
20.01.12
15:40
(7) Работает с более длинными строками. Какими сейчас уже не помню.
9 Mikeware
 
20.01.12
15:45
(4)  я тебе привел функцию прям из рабочей базы...
10 pvase
 
20.01.12
15:49
(9) У меня пример из (4) Выдает ошибку при вызове метода Показать. Похоже что ограничение тоже самое.
11 Ковычки
 
20.01.12
15:53
ВвестиСтроку(ДлинющаяСтрока,,0,1);
12 Ковычки
 
20.01.12
15:55
Форма.Строка.Заголовок(ДлинющаяСтрока);
13 pvase
 
20.01.12
16:04
(11) "ВвестиСтроку" вполне подходит. Спасибо.
14 Torquader
 
21.01.12
22:13
i=TempDir()+"МойФайл.txt";
o=CreateObject("Scripting.FileSystemObject");
f=o.CreateTextFile(i,-1,0);
f.Write(Строка);
f.Close();
RunApplication("NOTEPAD.EXE "+i);
AdBlock убивает бесплатный контент. 1Сергей