Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 00:46

Использование константы в имени файла (имя из нескольких частей).

Автор Voksech, 16 сен 2013, 10:53

0 Пользователей и 1 гость просматривают эту тему.

Voksech

Доброго времени суток!
Возникла проблема с созданием имени файла с использованием константы. Строчка выглядит так:

SheetDoc.Записать(Constants.FolderForReports.Get() + Constants.NameOfFishTrawler.Get() + "7 Filetcontrol Before Packing.XLS", "XLS97");

До внесения в эту строку Constants.NameOfFishTrawler.Get() файл с нужным названием создавался правильно. В вышеуказанном примере получается создание файла в нужной папке, но название файла ограничивается названием константы, без названия "7 Filetcontrol Before Packing.XLS" и без расширения "XLS97". Полученный файл открывается Excel и содержит правильные данные, но имя файла не то, которое хотел получить.
Помогите пожалуйста, может ошибка в синтаксисе написания.

mixqn

В синтаксисе вроде бы все верно.
Проверьте тип данных константы и ее заполнение.
Например так:
NameOfFishTrawler = Constants.NameOfFishTrawler.Get();
Сообщить(ТипЗнч(NameOfFishTrawler));
Сообщить(NameOfFishTrawler);

Или через отладчик, поставив точку останова в нужной строке.

Voksech

К сожалению советы не помогли.
Всё работает, прога не ругается, но работает не так как нужно.

mixqn

а какое имя файла получается при  использовании
SheetDoc.Записать(Constants.FolderForReports.Get() + Constants.NameOfFishTrawler.Get() + "7 Filetcontrol Before Packing.XLS", "XLS97");
не может же быть, чтобы Constants.NameOfFishTrawler.Get() просто игнорировалось.

Voksech

Создание имени файла заканчивается на процедуре Constants.NameOfFishTrawler.Get(), т. е. создаётся файл с названием из константы и всё, продолжения не следует, а в продолжении указано: "7 Filetcontrol Before Packing.XLS", "XLS97"); - эта часть тупо игнорируется (файл получается с названием судна из константы, без указанного текста и без расширения). Возможно проблема в двух обращениях к константам - указание папки Constants.FolderForReports.Get() и название судна Constants.NameOfFishTrawler.Get() в одном процессе?

mixqn

сложно сказать.
попробуйте убрать пробелы, оставить только расширение ".XLS" и еще как-то поэкспериментировать.
Добавлено: 16 сен 2013, 12:02


кстати, а какие в точности типы данных констант? имею ввиду, длина строки какая?

попробуйте так например:
SheetDoc.Записать(СокрЛП(Constants.FolderForReports.Get()) + СокрЛП(Constants.NameOfFishTrawler.Get()) + "7 Filetcontrol Before Packing.XLS", "XLS97");

Voksech

Цитата: mixqn от 16 сен 2013, 12:00
сложно сказать.
попробуйте убрать пробелы, оставить только расширение ".XLS" и еще как-то поэкспериментировать.
Добавлено: 16 сен 2013, 12:02


кстати, а какие в точности типы данных констант? имею ввиду, длина строки какая?

попробуйте так например:
SheetDoc.Записать(СокрЛП(Constants.FolderForReports.Get()) + СокрЛП(Constants.NameOfFishTrawler.Get()) + "7 Filetcontrol Before Packing.XLS", "XLS97");

Огромаднейшее спасибо за совет посмотреть содержание константы. Конечно, в названии файла использовались кавычки. После того, как их убрал, всё пошло отлично. Ещё раз спасибо!!!!!!!!!!!!!!!!!!!!!!!!!

Похожие темы (5)

Рейтинг@Mail.ru

Поиск