Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Новый XBase наименование поля не больше 10 знаков (http://forums.kuban.ru/f1040/novyj_xbase_naimenovanie_polya_ne_bol-she_10_znakov-6484392.html)

amv79 05.02.2015 08:40

Новый XBase наименование поля не больше 10 знаков
 
БД1 = Новый XBase;
Если ВыборКодировки = 1 Тогда
БД1.Кодировка=КодировкаXBase.OEM;
Иначе
БД1.Кодировка=КодировкаXBase.ANSI;
КонецЕсли;
БД1.Поля.Добавить("N_NACL","S",20);
БД1.Поля.Добавить("PRICE_REESTR","N",15,2);

БД1.DT_REESTR = ДатаРеестра;

Поле БД1.PRICE_REESTR наименование обрывается
БД1.PRICE_REES

MikeZ 05.02.2015 09:13

а разве раньше не так было?

amv79 05.02.2015 09:25

а как по другому ДБФ файл, но с длинными наименованиями полей?

MikeZ 05.02.2015 09:40

1С, видимо, только так умеет
потом открывай редактором и исправляй поле, если это критично

Климов Сергей 05.02.2015 09:46

Ограничения стандарта DBASE IV, если мне память не изменяет.

amv79 05.02.2015 09:49

Да уж. Что странно. Везде в примерах даже указаны, наименования полей на русском языке и длина наименования более 10 символов. Это как так?
Например поле - "наименование"

Uho 05.02.2015 10:14

А в СП заглянуть религия не позволяет?

[quote]Параметры:

<Имя> (обязательный)

Тип: Строка.
Имя добавляемого поля. Поддерживаются только латинские имена полей длиной до 10 символов.[/quote]

VZ 05.02.2015 10:40

4-Климов Сергей > Изменяет.

Климов Сергей 05.02.2015 10:44

2(7) Савсэм старый стал, савсэм гавно стал...

Ткачик 05.02.2015 11:04

Точно помню, что ограничение 10 символов было еще в dBase III - у популярных тогда средств разработки Foxbase и Clipper длины имен переменных ограничивалась как раз 10-ю символами - все лишнее игнорировалось. То есть, можно было в тексте программы определить переменные abcdefghij, abcdefghij1, abcdefghij2, abcdefghij3 и это не вызвало бы ошибку при работе программы, но реально обращение было бы только к переменной abcdefghij.

Обращение же к полям БД ничем не отличалось от обращения к переменным, то есть если бы и существовал файл с колонками "PRICE_REESTR" и "PRICE_REES", то средствами языка просто невозможно было бы обратиться к первой колонке. Или ко второй - с точки зрения компилятора они абсолютно идентичны.

А вот что тут было первичным, а что следствием, ограничение длины имени переменных или полей - не в курсе.

VZ 05.02.2015 11:16

8-Климов Сергей > Ни, это я наврамши. Полез в старые завалы, и таки нашел. В описании заголовка DBF. А из него следует, что да, наименование поля д.б. не более 10 байт.
Так что виноват.


Текущее время: 23:10. Часовой пояс GMT +3.