AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.04.2008, 15:57   #1  
Vikky is offline
Vikky
Участник
 
4 / 10 (1) +
Регистрация: 04.04.2008
Нужно напечатать содержание текстовой переменной в отчете (вывести на просмотр). Вроде бы обычное действие, но если длина переменной больше, чем 404 символа, то Навижен падает по майкрософтовской ошибке. Как с этим бороться, кроме как разбить строку на 2 маленькие?
Старый 04.04.2008, 18:18   #2  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от Vikky Посмотреть сообщение
Нужно напечатать содержание текстовой переменной в отчете (вывести на просмотр). Вроде бы обычное действие, но если длина переменной больше, чем 404 символа, то Навижен падает по майкрософтовской ошибке. Как с этим бороться, кроме как разбить строку на 2 маленькие?
Use this function to copy a substring of any length from a specific position in a string (text or code) to a new string.
NewString := COPYSTR(String, Position [, Length])

Разбить строку можно так
Код:
Str1:= COPYSTR(String, 1, 300);
Str2:= COPYSTR(String, 301);
Старый 04.04.2008, 23:06   #3  
Vikky is offline
Vikky
Участник
 
4 / 10 (1) +
Регистрация: 04.04.2008
Цитата:
Сообщение от randrews Посмотреть сообщение
Use this function to copy a substring of any length from a specific position in a string (text or code) to a new string.
NewString := COPYSTR(String, Position [, Length])

Разбить строку можно так
Код:
Str1:= COPYSTR(String, 1, 300);
Str2:= COPYSTR(String, 301);
В мануалах по Навижен написано, что текстовая переменная может иметь длину 1024 символа. Это вообще нормально, что на печать выводится только 404?
Старый 07.04.2008, 10:35   #4  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Vikky Посмотреть сообщение
В мануалах по Навижен написано, что текстовая переменная может иметь длину 1024 символа. Это вообще нормально, что на печать выводится только 404?
Уточнение, 1024 байта. При этом нужно не забывать про спец. символы. Если под SQL, то ограничение еще меньше - около 900 (точную цифру сходу не помню)..

P.S. Кстати, где написано, что 1024? Из хелпа (кстати, насколько я помню - это один из официальных источников):
- TEXT - Use this simple data type to denote a text string. The string can be from 1 to 250 characters in length. The length of a text variable equals the number of characters in the string. An empty text string has a length of zero (0).

- CODE - Use this simple data type to denote a special type of string that the system converts to uppercase and removes any trailing or leading characters. A code variable can be from 1 to 250 characters in length. The length of a code variable equals the number of characters in the text, without leading or trailing spaces.

- CHAR - Use this simple data type to store a single character as a value in the range 0 to 255....

- SQL Server Data Types:
Every available Microsoft Dynamics NAV data type is mapped to an appropriate SQL Server data type in the tables of the SQL Server Option for Microsoft Dynamics NAV. The following table shows which SQL Server data type is used for the corresponding Microsoft Dynamics NAV data type:

Microsoft Dynamics NAV Data Type // SQL Server Data Type :

Integer // INTEGER
Option // INTEGER
Code(n) // VARCHAR(n), INTEGER, SQL_VARIANT
Text(n) // VARCHAR(n)
Decimal // DECIMAL(38,20)
Date // DATETIME
Time // DATETIME
Boolean // TINYINT
Binary(n) // VARBINARY(n)
BLOB // IMAGE
DateFormula // VARCHAR(32)
TableFilter // VARBINARY(252)
BigInteger // BIGINT
Duration // BIGINT
DateTime // DATETIME
GUID // UNIQUEIDENTIFIER
RecordID // VARBINARY(n)

Each of the SQL Server data types is created as NOT NULL except the IMAGE type, which allows NULL.

There are other SQL Server data types than those listed in the previous table. You can use and modify these from within Microsoft Dynamics NAV when you have created or altered SQL Server tables or views outside Microsoft Dynamics NAV.
Старый 07.04.2008, 12:40   #5  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Длинна текстового поля - не более 250 байт, а вот переменной текстовой - 1024.
Старый 07.04.2008, 17:51   #6  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Kashin Посмотреть сообщение
Длинна текстового поля - не более 250 байт, а вот переменной текстовой - 1024.
Извините, но мне все равно интересно где такое написано? Очень прошу уточнить.
И разве переменная не описывается ее типом?
Старый 08.04.2008, 09:48   #7  
andrevk is offline
andrevk
Участник
 
145 / 10 (1) +
Регистрация: 23.11.2006
Цитата:
Сообщение от RedFox Посмотреть сообщение
Извините, но мне все равно интересно где такое написано? Очень прошу уточнить.
И разве переменная не описывается ее типом?
В ADG страница 305(317)
Старый 08.04.2008, 10:44   #8  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Andreblack Посмотреть сообщение
В ADG страница 305(317)
А Вы молодец, внимательно читаете доку (мне стыдно наверное должно быть, но сам не читал - програмить начал от нечего делать и по хелпу).
Вот на лицо два источника от одной компании, в которых разниться инфа!!! В данном случае это все "Fundamental Data Types", но! при создании поля типа ТЕХТ максимальная длина 250, а когда переменная - 1024.
При этом понятие Тип данных и Переменная НИГДЕ в обоих источниках не упоминается.
Старый 08.04.2008, 11:39   #9  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от RedFox Посмотреть сообщение
но! при создании поля типа ТЕХТ максимальная длина 250, а когда переменная - 1024.
Кстати, ограничение в 250 символов можно обойти. Кажется, Юра (Fordewind) писал об этом.... Экспорт объекта в txt, редактирование текстового файла, например 250 меняем на 1000. Импорт текста. Компилирование.
Ву а ля - у нас текстовове поле в 1000 байт
Старый 09.04.2008, 11:33   #10  
Vikky is offline
Vikky
Участник
 
4 / 10 (1) +
Регистрация: 04.04.2008
Цитата:
Сообщение от randrews Посмотреть сообщение
Кстати, ограничение в 250 символов можно обойти. Кажется, Юра (Fordewind) писал об этом.... Экспорт объекта в txt, редактирование текстового файла, например 250 меняем на 1000. Импорт текста. Компилирование.
Ву а ля - у нас текстовове поле в 1000 байт
А при печати это тоже можно обойти? Почему-то именно на 405-м символе все падает. Мне нужно чтобы длинный текст печатался подряд, то есть без разрывов, поэтому разбивание на 2 переменные не подходит
Старый 09.04.2008, 12:00   #11  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Vikky Посмотреть сообщение
А при печати это тоже можно обойти? Почему-то именно на 405-м символе все падает. Мне нужно чтобы длинный текст печатался подряд, то есть без разрывов, поэтому разбивание на 2 переменные не подходит
Выгружайте в Word/Excel и оттуда автоматом печатайте.
Старый 09.04.2008, 17:37   #12  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Vikky Посмотреть сообщение
А при печати это тоже можно обойти? Почему-то именно на 405-м символе все падает. Мне нужно чтобы длинный текст печатался подряд, то есть без разрывов, поэтому разбивание на 2 переменные не подходит
например "%1%2" не подходит?
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:25.