Новый 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 |
а разве раньше не так было? |
а как по другому ДБФ файл, но с длинными наименованиями полей? |
1С, видимо, только так умеет потом открывай редактором и исправляй поле, если это критично |
Ограничения стандарта DBASE IV, если мне память не изменяет. |
Да уж. Что странно. Везде в примерах даже указаны, наименования полей на русском языке и длина наименования более 10 символов. Это как так? Например поле - "наименование" |
А в СП заглянуть религия не позволяет? [quote]Параметры: <Имя> (обязательный) Тип: Строка. Имя добавляемого поля. Поддерживаются только латинские имена полей длиной до 10 символов.[/quote] |
4-Климов Сергей > Изменяет. |
2(7) Савсэм старый стал, савсэм гавно стал... |
Точно помню, что ограничение 10 символов было еще в dBase III - у популярных тогда средств разработки Foxbase и Clipper длины имен переменных ограничивалась как раз 10-ю символами - все лишнее игнорировалось. То есть, можно было в тексте программы определить переменные abcdefghij, abcdefghij1, abcdefghij2, abcdefghij3 и это не вызвало бы ошибку при работе программы, но реально обращение было бы только к переменной abcdefghij. Обращение же к полям БД ничем не отличалось от обращения к переменным, то есть если бы и существовал файл с колонками "PRICE_REESTR" и "PRICE_REES", то средствами языка просто невозможно было бы обратиться к первой колонке. Или ко второй - с точки зрения компилятора они абсолютно идентичны. А вот что тут было первичным, а что следствием, ограничение длины имени переменных или полей - не в курсе. |
8-Климов Сергей > Ни, это я наврамши. Полез в старые завалы, и таки нашел. В описании заголовка DBF. А из него следует, что да, наименование поля д.б. не более 10 байт. Так что виноват. |
Текущее время: 23:10. Часовой пояс GMT +3. |