8.х Ошибка при вызове метода контекста (Записать)

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Euronymous, 13 авг 2015.

  1. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Доброго времени суток.
    Платформа 8.2 УФ, процедура выполняется на сервере
    Ошибка при вызове метода контекста (Записать). Недопустимое значение параметра (параметр номер '1')

    Код -
    Код:
    ДвоичныеДанные.Записать(ПолноеИмяФайла);
    ДвоичныеДанные - Тип двоичные данные;
    ПолноеИмяФайла - Строка типа "C:\Users\NameUser\AppData\Local\Temp\Заказ товара №1111 от 11.01.2011 11:11:00.xml"
    Но если ПолноеИмяФайла указать - C:\Users\NameUser\AppData\Local\Temp\jopa.xml - все работает отлично.

    В чем может быть проблема? Слишком длинный путь? Много пробелов/точек и т.д. в пути?
  2. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    проблемы в точках, где дата
    --- Объединение сообщений, 13 авг 2015 ---
    т.е даже вот так Заказ товара №1111.xml сработает
    А вот там где дата- первая точка он думает что следующее должно быть расширение, а там цифры
    Euronymous нравится это.
  3. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    Заменяйте разделитель времени на разрешенный знак, например, на "-"
    Euronymous нравится это.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.567
    Симпатии:
    717
    Баллы:
    204
    Проблемы не в ".", а в ":" в значении времени.
    Euronymous нравится это.
  5. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    Ну видимо уважаемый Драко это и имел ввиду точки - двоеточие
    Euronymous нравится это.
  6. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    я и то и то имел ввиду. просто если вы тотже файл типа Заказ товара №1111 от 11.01.2011.xml вот так сохраните и потом в 1С засуненет и попробуете его там открыть, то не на всех платформах откроет.не помет каким приложением открывать. по этоу таких точек в наименовании то же не должно быть
    Euronymous нравится это.
  7. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.567
    Симпатии:
    717
    Баллы:
    204
    Я так понимаю, "точки, где дата", это таки точки разделения дня/месяца/года, т.к. "..А вот там где дата- первая точка он думает что следующее должно быть расширение, а там цифры".

    Расширение после точки - это формат DOS, в условиях Windows после точки не обязательно может быть 3 знака, и даже если там будут 3 цифры, то это так же не помеха
    --- Объединение сообщений, 13 авг 2015 ---
    Да его и не надо открывать другими средствами как бы....это ж файл для обмена в масштабах 1С, да даже если и с какой другой системой - ей без разницы как именован файл, оно работает с файлом не по имени.расширение.
    А вот ":" точно не должно быть в имени файла, как и символов !/\~ и еще некоторых, т.к. эти символы - зарезервированы под другие нужды.
    Последнее редактирование: 13 авг 2015
  8. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо, проблема была и в "." и в ":"
    Получилось как-то так
    Код:
        ПолноеИмяФайла = АдресКаталога + СтрЗаменить(СтрЗаменить(ДанныеФайла.ИмяФайла, ".", "_"), ":", "_");
        ПолноеИмяФайла = Лев(ПолноеИмяФайла, СтрДлина(ПолноеИмяФайла) - 4) + ".xml";
  9. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.567
    Симпатии:
    717
    Баллы:
    204
    Лично я сделал бы так:

    ПолноеИмяФайла = АдресКаталога + СсылкаНаДокумент.Метаданные().Синоним + " №" + СсылкаНаДокумент.Номер + " от " + Формат(СсылкаНаДокумент.Дата, "DD-MM-YYYY_HH-mm-ss") + ".xml";
    Euronymous нравится это.

Поделиться этой страницей