Завершен

Изменение имени документа.

Водянников Александр 3 года назад в Прочие разделы / - Вопросы по разработке обновлен rura 3 года назад 10

Суть вопроса в следующем - возможно ли изменять имя документа после его создания ??

Причина - создание документа происходит автоматически без предложения изменения имени (имя создается как имя+дата и время). Можно ли "программно" изменить созданное имя документа или изменить шаблон(как пример - не просто имя и дата и время, а имя + дата + время + IP(или уникальный ID) клиента(ТСД).


Почему всплыл данный вопрос - так получилось что пользователи умудрялись на разных ТСД создавать одновременно документы, прям секунда в секунду :)

Установленный продукт:
Магазин 15 базовый
Версия драйвера:
3.0.0.8288
Типовая конфигурация драйвера?:
Нет
Операционная система:
windows R2 2012 server
Версия и конфигурация 1С, и режим работы (Файловы или Серверный):
Файловый
Типовая конфигурация 1с?:
Да
Модель ТСД:
MC65

Добрый день,

программно изменять возможно, но в вашем случае наиболее простой вариант разрешить изменять название пользователю. см. скриншот http://prntscr.com/doeu7w

Нет - изменить название не вариант(то что указали на скрине - я в курсе), нужна именно возможность программно изменять имя документа или возможность изменить шаблон для авто-создания документа.

Можно добавить к "имени документа" айди ТСД http://prntscr.com/dogq9e,

возможно через присваивания Document.Name = Document.Name + "_"+ CurrentUser.Name,

можно завести доп поле и редактировать его.

Приведенный пример кода присваивания не работает. Имя документа не изменяется, более того - пытаюсь после присваивания вывести имя документа в виде сообщения - ничего не происходит, похоже что ошибка при обращении к Document.Name. Вот кусок кода -
Если убрать в сообщении {Document.Name} - то сообщение отображается.

Почему изменить нужно именно имя документа - потому что потом при выгрузке документов в csv происходит затираение файлов с одинаковыми именами(а имя файла создается именно из имени документа).

Добрый день,

Поставьте присваивание до меню - http://prntscr.com/dp6q9n

Для проверки- тестов можно разместить конструкцию в экране меню (всплывающие окна по умолчанию отключены в Магазин 15) - http://prntscr.com/dp6qtm

Мой результат: http://prntscr.com/dp6r3v

Опять всплыл вопрос по данной теме. Код работает - все хорошо. Но есть одно но - если пытаемся открыть ранее созданный(но не отправленный на сервер) документ - то как результат добавление к имени документа происходит еще раз. И так каждый раз при открытии документа.


Существует ли возможность:

1) Либо проверить что открываем ранее созданный документ, и если так - то не добавлять.

2) Либо поиск в имени документа подстроки, и если подстрока существует - то не добавлять.


??

Вопрос снимается - решил задачу.

if Document.Name.Contains(Device.GetDeviceId()) ...

Добрый вечер. Александр, можно подробней код и как его применить?  код выше работает и действительно добавляет каждый раз. заранее спасибо. и еще вопрос как в название документа добавить секунды? Приход на склад от 07.09.17 в 00:21  к часам и минутам добавить еще секунды. Если добавить Document.CreateDate.Second то при повторном открытии этого же документа создается новый...... Заранее спасибо. если можно с скриншотом или подробнее.

Сервис поддержки клиентов работает на платформе UserEcho