Лидирующие нули в файл DBF
По техническому заданию надо создать файл *.dbf и выгрузить в него информацию из 1С. В исходных данных есть поле EAN13 в формате C(13) и поле GTIN в формате N(14).
В модуле объекта обработки создана таблица значений данных
БД = Новый XBase;
БД.Поля.Добавить("EAN13","S",13);
БД.Поля.Добавить("GTIN","N",14,0);
На форме обработки для GTIN установил свойства (скриншот GTIN), в том числе учет лидирующих нулей
Помятуя, что EAN13 - это строка, в модуле объекта на основании EAN13 создаю значение GTIN
НоваяСтрока.GTIN = Число(НоваяСтрока.EAN13);
В итоге в сообщении получаю для EAN13, что это строка (через ТипЗнч) имеет значение 4650264360059
Для GTIN, что это число, но значение = 4 650 264 360 059.
Пытался сделать вот так
НоваяСтрока.GTIN = Формат((Число(НоваяСтрока.EAN13)), "ЧЦ=14; ЧВН=; ЧГ=0");
Не помогло
Добрые люди, что нужно сделать чтобы получить 04650264360059?
В модуле объекта обработки создана таблица значений данных
БД = Новый XBase;
БД.Поля.Добавить("EAN13","S",13);
БД.Поля.Добавить("GTIN","N",14,0);
На форме обработки для GTIN установил свойства (скриншот GTIN), в том числе учет лидирующих нулей
Помятуя, что EAN13 - это строка, в модуле объекта на основании EAN13 создаю значение GTIN
НоваяСтрока.GTIN = Число(НоваяСтрока.EAN13);
В итоге в сообщении получаю для EAN13, что это строка (через ТипЗнч) имеет значение 4650264360059
Для GTIN, что это число, но значение = 4 650 264 360 059.
Пытался сделать вот так
НоваяСтрока.GTIN = Формат((Число(НоваяСтрока.EAN13)), "ЧЦ=14; ЧВН=; ЧГ=0");
Не помогло
Добрые люди, что нужно сделать чтобы получить 04650264360059?
Прикрепленные файлы:

По теме из базы знаний
- Загрузка из EXCEL в 1С. com.sun.star.ServiceManager (LibreOffice/OpenOffice)
- Экспорт сотрудников из программы M.E.DOC (Медок) в 1С 8.2.
- Загрузка из EXCEL в 1С на платформе 8.3.6/8.3.7/8.3.8/8.3.9/8.3.10 (с картинками)
- Обмен между 1С и другими системами в формате YML (OZON, Wildberries, Яндекс Маркет, СберМегаМаркет, Юла, Леруа и др.)
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Хм, два варианта:
1. Определить поле как символьное.
2. При показе юзеру конвертить в строку и добавлять нули.
PS тип numeric не содержит ведущие нули, хотя и хранится в "символьном" формате.
Для numeric 123 тождественно равно 0123
Добрые люди, что нужно сделать чтобы получить 04650264360059?
Хм, два варианта:
1. Определить поле как символьное.
2. При показе юзеру конвертить в строку и добавлять нули.
PS тип numeric не содержит ведущие нули, хотя и хранится в "символьном" формате.
Для numeric 123 тождественно равно 0123
(9)
Не надо путать хранения и отображение данных, это первое.
И второе, "N",14 "гарантирует" что в поле будут храниться числа, а не символы, те теоретически (хотя практически можно) в numeric поле затолкать символ "А".
Почему в одном случае символы в другом цифры - так исторически сложилось.
Смущает требование о формате "N",14 для dbf файла.
Не надо путать хранения и отображение данных, это первое.
И второе, "N",14 "гарантирует" что в поле будут храниться числа, а не символы, те теоретически (хотя практически можно) в numeric поле затолкать символ "А".
Почему в одном случае символы в другом цифры - так исторически сложилось.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот