1C и Google Maps
21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1C: Enterprise Development Tools
52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools – это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1Cv8.1CD – Файл данных достиг максимального размера!
8
1С выдает предупреждение ” Файл данных достиг максимального размера” .
Подскажите из – за чего это и как можно решить ?
Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10 гигабайтам или размер ка
Excel файл как Внешний источник данных
16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто.
1. В конфигурации добавляет новый объект метаданных типа ” Внешние источники данных” и назовем его просто ” Excel” .
https://helpf.pro/uploads/img
Посмотреть все результаты поиска похожих
Есть самописная конфа, которая архивирует по расписанию все остальные БД.
До недавнего времени все работало на ура.
До тех пор пока не обновил платформу.
Сразу же перестали работать 2 момента
1 – перестал отрабатывать метод Существует() для файла.
Вот такой вот код выдает ошибку, что каталог уже существует:
КаталогНаДиске = Новый Файл(БазаДанных. КаталогДляАрхива);
Если Не КаталогНаДиске. Существует() Тогда
СоздатьКаталог(БазаДанных. КаталогДляАрхива);
КонецЕсли;
2 – Перестали архивироваться базы при запуске из командной строки:
ЗапуститьПриложение(Команда,,Истина,КодВозврата);
Где Команда = “C:\Program Files (x86)\1cv8\8.3.9.1818\bin\1cv8.exe” config /S Сервер\ИмяБазы /NПользователь /PПароль /DumpIB “ПолноеИмяФайла.dt”
Если эту командную строку выполнить в CMDшке, то архивка создается, а если 1С выполняет эту команду, то запускается конфигуратор с нужной базой, чего то там происходит секунд 10-30, потом завершается работа конфигуратора. В журнале открываемой 1С просто видно что пользователь зашел и вышел.
Пользователю, под которым стартует 1С, даны полные права на каталог с архивками.
Подскажите в какую сторону копать, почему могут быть такие траблы после смены платформы. То что работало годами и на релизах 8.2 и на 8.3, перестало работать на новом релизе 8.3.9.1818
Присоединился: 4 года назад
23/12/2022 1:14 пп
Проверим существование файла. Если не существует, покажем соответствующее предупреждение пользователю.
ПутьКФайлу ПроверяемыйФайл ФайлПутьКФайлу ПроверяемыйФайлСуществует ПоказатьПредупреждение СтрШаблон "Файл по указанному пути: " " не обнаружен." ПутьКФайлу
Проверим существование каталога. Если не существует, покажем соответствующее сообщение пользователю, с предложением создать новый каталог.
ПроверитьСуществованиеСоздатьКаталог ПутьККаталогу ПроверяемыйКаталог ФайлПутьККаталогу ДополнительныеПараметры Структура ДополнительныеПараметрыВставить ПутьККаталогу ПроверяемыйКаталогСуществует ПоказатьВопрос ОписаниеОповещения ЭтотОбъект ДополнительныеПараметры СтрШаблон " не обнаружен. Создать?" ПутьККаталогу РежимДиалогаВопросДаНет // Внимание! Такая конструкция функции вернёт Ложь, если каталог не существует. // Не зависимо от ответа на вопрос: "Каталог: "D:\КакаяТоПапка" не существует. Создать?". // Другими словами, даже если пользователь ответил "Да" и каталог был создан. // Смотри (Использование модальности) ПроверитьСуществованиеСоздатьКаталогПродолжениеРезультат ДополнительныеПараметры Результат КодВозвратаДиалогаДа СоздатьКаталогДополнительныеПараметрыПутьККаталогу
Для
работы с файлами и каталогами в 1С:Предприятие используется специальный
объект “ФС” (файловая система). Средства языка 1С имеют
возможности поиска, копирования, переименования, удаления и совершения
других операций с файлами и каталогами.
Обращение
к файловой системе
Для
работы с файловой системой предназначен объект “ФС”. В
принципе его не требуется создавать с помощью функции СоздатьОбъект.
Можно считать, что он уже создан. Но 1С позволяет создать сколько
угодно таких объектов при помощи функции СоздатьОбъект;
ГдеМыНаходимся
= ФС. ТекКаталог();
ФС. СоздатьКаталог(“DOCS”);
НовФС = СоздатьОбъект(“ФС”);
Объект
“ФС” имеет следующие методы:
Также часто
применяются системные функции:
Пример
1
//переместить все текстовые файлы (*.txt) из каталога информационной
базы в каталог TXT.
Пока 1=1 Цикл
//выбрать
файл с фотографией сотрудника
ИмяФайла = “”;
ИмяКаталога = КаталогИБ();
Если ФС. ВыбратьФайлКартинки(0,ИмяФайла,ИмяКаталога,”Укажите
файл с фотографией:”,,20)=1 Тогда
ВремКартинка
= СоздатьОбъект(“Картинка”);ВремКартинка. Загрузить(ИмяКаталога + ИмяФайла);
КартинкаНаФорме. УстановитьКартинку(ВремКартинка);
1C и Google Maps
21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1Cv8.1CD – Файл данных достиг максимального размера!
8
1С выдает предупреждение ” Файл данных достиг максимального размера” .
Подскажите из – за чего это и как можно решить ?
Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10 гигабайтам или размер ка
Excel файл как Внешний источник данных
16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто.
1. В конфигурации добавляет новый объект метаданных типа ” Внешние источники данных” и назовем его просто ” Excel” .
https://helpf.pro/uploads/img
QR код в 1С
21
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог
ZIP-архив Разделить и Объединить Файл
0
При работе с большими объемами данных могут возникнуть проблемы при пересылке архивных файлов. Типичной такой ситуацией является ограничение некоторых почтовых серверов на размер сообщения – если письмо превышает некий заранее установленный размер, о
Посмотреть все результаты поиска похожих
Как восстановить любое значение из файла в 1с 8.3, 8.2
Как записать текстовый файл в 1с 8.3, 8.2
Как прочитать текстовый файл в 1с 8.3, 8.2
Как проверить существование файла в 1С 8.3, 8.2
Как скопировать файл в 1с 8.3, 8.2
Как переместить файл в 1с 8.3, 8.2
Как найти файлы в каталоге в 1с 8.3, 8.2
Как удалить файл в 1с 8.3, 8.2
Как удалить файлы в каталоге по маске в 1с 8.3, 8.2
Как получить имя временного файла в 1с 8.3, 8.2
Как прочитать атрибуты файла в 1с 8.3, 8.2
Как установить атрибуты файла в 1с 8.3, 8.2
Как узнать размер файла в 1с 8.3, 8.2
Как узнать по пути, файл это или каталог в 1с 8.3, 8.2
Как вытащить расширение файла из его пути в 1с 8.3, 8.2
Как вытащить имя файла без расширения в 1с 8.3, 8.2
Как создать каталог в 1с 8.3, 8.2
Как проверить существование каталога в 1с 8.3, 8.2
Как удалить каталог вместе с содержимым в 1с 8.3, 8.2
Как сохранить произвольное значение во временное хранилище в 1с 8.3, 8.2
Как прочитать произвольное значение из временного хранилища в 1с 8.3, 8.2
Как перезаписать уже сохраненное значение во временном хранилище в 1с 8.3, 8.2
Как сохранить значение во временное хранилище на всё время жизни формы в 1с 8.3, 8.2
Как сохранить значение во временное хранилище на всё время сеанса пользователя в 1с 8.3, 8.2
Как удалить значение из временного хранилища в 1с 8.3, 8.2
Как узнать является ли строка адресом во временном хранилище в 1с 8.3, 8.2
Как передать файл с клиента на сервер в 1с 8.3, 8.2
Как прочитать файл на сервере из временного хранилища в 1с 8.3, 8.2
Как передать файл с сервера на клиент в 1с 8.3, 8.2
2.
collider
Сейчас в теме
( 1
) Этот кусок на клиенте или на сервере выполняется?
“Не хочет работать” – это какую конкретно ошибку выдаёт?
4.
inf012
Сейчас в теме
( 2
) НаСервере
Выдает, что нет каталога.
3.
sssss_aaaaa_2011
Сейчас в теме
Потому, что на сервере действительно нет этого каталога! В клиент-серверной базе надо ВСЕГДА учитывать ГДЕ исполняется код – на сервере или на клиенте.
5.
inf012
Сейчас в теме
( 3
) А какие пути видно НаСервере СУБД?
Она на том же ПК (терминальном сервере) развернута, или она, там на неизвестно каком разделе развернута и не видит стандартный путь c:\ (или видит, но он другой для нее)?
Так то я понял, что надо по другому делать.
6.
collider
Сейчас в теме
( 5
) Если на сервере, то проверяется, есть ли каталог на компьютере с сервером 1С и из-под пользователя, от которого запущена служба сервера 1С.
7.
inf012
Сейчас в теме
( 6
) Ну, скорее всего, тут на этом терминальном сервере службу запустил Сис. админ и он также просто пользоваетель этого терминального Windows.
Т.е. должен те же пути видеть, что и под просто пользователем, под которым я пытаюсь проверить существование каталога.
Но надо будет проверить, просто папку на диске c, например.
8.
sssss_aaaaa_2011
Сейчас в теме
А какие пути видно НаСервере СУБД?
Вообще никакие. Ибо 1с к серверу СУБД вообще не имеет ни малейшего отношения. Речь о файловой системе с сервером 1с. И той части, которая видна юзеру, под которым этот самый сервер 1с запущен. Права ваши, сисадминские и прочие тут никаким боком и рядом не лежат.
9.
inf012
Сейчас в теме
( 8
) Ну да, ясно, что не про СУБД речь.
Имел ввиду что видно “при выполнении кода НаСервере”
Как это назвать правильно, сервер 1С, серверная часть 1С?
10.
sssss_aaaaa_2011
Сейчас в теме
Как узнать существование заданого каталога в 1С?
☑
0
Scorpion2123
✎
Привет всем! Как можно проверить существование заданого каталога в 1С?
1
butterbean
✎
пример из СП:
Функция ПроверитьСуществованиеКаталога(ИмяКаталога) Экспорт
КаталогНаДиске = Новый Файл(ИмяКаталога);
Если КаталогНаДиске. Существует() Тогда
Возврат Истина;
Иначе
Ответ = Вопрос(“Каталог не существует. Создать?”,
РежимДиалогаВопрос. ОКОтмена);
Если Ответ = КодВозвратаДиалога. ОК Тогда
СоздатьКаталог(ИмяКаталога);
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецЕсли;
КонецФункции
2
Scorpion2123
✎
3
dk
✎
да, для 7-ки актуально )))
4
Scorpion2123
✎
я вижу что то-то нето)))), а как для 7-ки переделать?
5
KRV
✎
6
AeDen
✎
СуществуетФайл(<?>)
Синтаксис:
СуществуетФайл(<ИмяФайла>)
Назначение:
Проверяет существование файла.
Возвращает: 1 – файл существует; 0 – не существует.
Параметры:
<ИмяФайла> – Строковое выражение с именем файла.
Подробнее см. в документации, глава ‘Работа с Файлами’
7
dk
✎
там хитрее
сходи в поиск
по памяти
1. попробовать установить текущийкаталог и сравнить теккаталог ДО и ПОСЛЕ
2. Ф С. СуществуетФАйл(Мойкаталог+”\.”) или как-то так – точно не помню
8
DenLaDen
✎
Если ФС. СуществуетФайл( Каталог ) = 0 Тогда
ФС. СоздатьКаталог( Каталог );
КонецЕсли;
9
ДенисЧ
✎
10
AeDen
✎
АтрибутыФайла(<?>,,,,,,);
Синтаксис:
АтрибутыФайла(<ИмяФайла>,<РазмерФайла>,<АтрибутыФайла>,<ВремяСоздания>,<ВремяПоследнегоДоступа>,<ВремяПоследнейЗаписи>,<РасширенноеИмяФайла>)
Назначение:
Возвращает атрибуты файла (в параметрах).
Параметры:
<ИмяФайла> – строка с именем файла;
<РазмерФайла> – переменная, принимающая размер файла в байтах;
<АтрибутыФайла> – переменная, принимающая атрибуты файла;
Возвращаемое строковое значение длиной 9 символов, в котором закодированы атрибуты файла. Символы могут принимать значения ”0” или ”1”:
первый символ: если ”1” – файл только для чтения;
второй символ: если ”1” – скрытый файл;
третий символ: если ”1” – системный файл;
четвертый символ: если ”1” – каталог;
пятый символ: если ”1” – архивный файл;
шестой символ: если ”1” – обычный файл (все другие атрибуты не установлены);
седьмой символ: если ”1” – временный файл;
восьмой символ: если ”1” – файл, сжатый каким-либо архиватором;
девятый символ: если ”1” – нет доступа к файлу.
<ВремяСоздания> – переменная, принимающая строку с датой и временем создания файла;
<ВремяПоследнегоДоступа> – переменная, принимающая строку с датой и временем последнего доступа к файлу;
<ВремяПоследнейЗаписи> – переменная, принимающая строку с датой и временем последней записи файла;
<РасширенноеИмяФайла> – переменная, принимающая строку с полным именем файла.
Подробнее см. в книгу ”1С:Предприятие 7.7. Описание встроенного языка. Часть 2”, глава 37 ”Работа с Файлами”.
11
Sadovnikov
✎
СуществуетДиректория(<?>,);
Синтаксис:
СуществуетДиректория(<Путь>,<ПризнакСоздания>)
Назначение:
Проверить наличие заданного каталога и, при необходимости, его создать.
Возвращает: 0 – в случае отсутствия каталога, 1 – заданный путь есть на диске, 2 – каталог отсутствовал и был успешно создан, (-1) – произошла ошибка при выполнении команды.
Параметры:
<Путь> – строка, имя проверяемого пути.
<ПризнакСоздания> – число, необязательный параметр, 1 – создавать каталог в случае его остутствия, 0 – не создавать. Значение по умолчанию – 0.
12
also
✎
13
also
✎
Это ты где нарыл?
14
AeDen
✎
откуда метод?
15
Scorpion2123
✎
всем спасибо, понял, буду пробовать!
16
Sadovnikov
✎
,
Как обычно, RiK_SQL 🙂
17
also
✎
18
ДенисЧ
✎
19
AeDen
✎
Ага, ну да, обязательно надо вынести во внешнюю компоненту то, что можно и штатно сделать:)
20
also
✎
21
Sadovnikov
✎
Вот так он работает:
Temp:=GetNParam(paParams,0);
try
if DirectoryExists(Temp) then
//есть такая директория
pvarRetValue:=1
else
if GetNParam(paParams,1)=0 then
//не надо создавать директорию
pvarRetValue:=0
else
//надо создать директорию
if CreateDir(Temp) then
//создали директорию
pvarRetValue:=2
else
pvarRetValue:=0;
except
pvarRetValue:=-1;
end;
Отличие от 1С-кого – можно сетевые пути указывать.
Р-р-р-р!! 🙂
22
Sadovnikov
✎
Попробуй, сделай.
23
also
✎
+
особенно “каталог отсутствовал и был успешно создан” 🙂
24
AeDen
✎
“Проверить наличие заданного каталога и, при необходимости, его создать.
Возвращает: 0 – в случае отсутствия каталога, 1 – заданный путь есть на диске, 2 – каталог отсутствовал и был успешно создан, (-1) – произошла ошибка при выполнении команды. ”
Не сделать при помощи методов 1С? Да не смешите мои валенки. Можно еще проверить, каталог или файл существует с таким именем, и какие атрибуты у файла стоят.
25
Sadovnikov
✎
26
AeDen
✎
Мне щас гораздо интереснее это:
Хранилище. УстановитьТекущийКаталог(ИмяТекущегоКаталога);
Если флВложения=1 Тогда
СписокКаталогов=Хранилище. ПолучитьСписокКаталогов();
Для С=1 По СписокКаталогов. РазмерСписка() Цикл
ИмяПодКаталога=””;
КороткоеИмя=СписокКаталогов. ПолучитьЗначение(С,ИмяПодКаталога);
Если КороткоеИмя=”.” Тогда
Продолжить;
КонецЕсли;
Ошибок=Ошибок+ВыполнитьТестыВКаталоге(ИмяПодКаталога);
КонецЦикла;
КонецЕсли;
//В подкаталогах поменяли имя тек. каталога
Хранилище. УстановитьТекущийКаталог(ИмяТекущегоКаталога);
_Тестов=_Тестов+Хранилище. КоличествоТестов();
Для Т=1 По Хранилище. КоличествоТестов() Цикл
лНомерТеста = _Тестов – Хранилище. КоличествоТестов() + Т;
Состояние(“”+ лНомерТеста +”/” + _Тестов + “. ” + Хранилище. ПолучитьТекущийКаталог() + “/” + Т);
ТекТест. Инит(Хранилище. ПолучитьТекущийКаталог(),Т);
РезультатТеста=ТекТест. Тестировать(_ТаблицаПечатнойФормы);
Если РезультатТеста<>”” Тогда
_Текст=ДобавитьТекст(_Текст,РезультатТеста);
Ошибок=Ошибок+1;
КонецЕсли;
КонецЦикла;
27
vde69
✎
до кучи определения отсутсвия доступа
// взвращает -1 – нет доступа, 1 – каталог, 0 – файл
Функция ЭтоКаталог(Каталог, ИмяФайла)
перем раз, атр;
Если (ИмяФайла = “.”) или (ИмяФайла = “.”) Тогда
Возврат -3;
КонецЕсли;
ФС. АтрибутыФайла(Каталог + ИмяФайла, раз, атр);
Если (Сред(атр,9,1) = “1”) и (Сред(атр,4,1) = “1”) Тогда
Возврат -1;
ИначеЕсли (Сред(атр,4,1) = “1”) Тогда
Возврат 1;
ИначеЕсли (СокрЛП(атр) = “0”) Тогда
Возврат -2;
Иначе
Возврат 0;
КонецЕсли;
28
Барбариска
✎
Странно, почему штатное от 1С у меня в сети работает .))
Примерно так:
ИмяФ = СокрЛП(ИмяФайла);
ИмяФ = ?(Прав(ИмяФ, 1) = “\”, ИмяФ, ИмяФ + “\”);
Флаг = ФС. СуществуетФайл(ИмяФ+”*.*”);
Сообщить(“Существует каталог: “+Флаг);
29
Барбариска
✎
Если уж совсем нет доверия к штатным от 1С методам –
то наверное можно FSO использовать – по крайней мере это “почти штатно”.
30
AeDen
✎
31
Барбариска
✎
32
smaharbA
✎
на поллитру ?
33
Sadovnikov
✎
, Я щас уже не вспомню, какой релиз 1С-ки был. Столкнулся с проблемой. И было гораздо проще дописать несколько строк к ВК, чем “штатными” методами изголяться 🙂
34
vde69
✎
действительно 1с с сетевыми путями работает далеко не всегда, проблемма здесь в использовании старых библиотек, по этому оди и то-же код может по разному работать на разных компах.
для примера попробуйте через скрытую шару “$” поработать штатными процедурами, или через IP.
Тем не менее все можно настроить и будет работать 🙂
Вступайте в мою группу помощник программиста
.
В ней мы обсуждаем программирование в 1С.
&НаСервере ЧтениеИЗаписьФайловНаСервере /// Как записать произвольное значение в файл в 1с 8.3, 8.2 // любое сериализуемое (то есть превращаемое // в строку и обратно) значение можно сохранять // в файл, например, массивы, списки значений, строки // структуры и т.д. Числа Массив ЧислаДобавить ЧислаДобавить ЗначениеВФайл Числа // эта функция работает только на сервере /// Как восстановить произвольное значение из файла в 1с 8.3, 8.2 ЧислаИзФайла ЗначениеИзФайла СообщитьЧислаИзФайла СообщитьЧислаИзФайла /// Как записать текстовый файл в 1с 8.3, 8.2 // работает как на сервере, так и на клиенте Текст ЗаписьТекста КодировкаТекста СимволыПС // разделитель строк (необ.) // перезаписывать файл, а не дописывать в конец (необ.) ТекстЗаписатьСтроку ТекстЗаписатьСтроку "Посторонним вход воспрещен." ТекстЗакрыть /// Как прочитать текстовый файл в 1с 8.3, 8.2 // работает как на сервере, так и на клиенте Текст ЧтениеТекста КодировкаТекста СимволыПС // разделитель строк (необ.) // монопольный режим (необ.) // читаем пока есть что читать Строка ТекстПрочитатьСтроку Строка СообщитьСтрока & НаКлиенте ОперацииНадФайламиКоманда // для тестов создадим пустой файл Текст ЗаписьТекста ТекстЗакрыть /// Как проверить существование файла в 1С 8.3, 8.2 ФайлНаДиске Файл ФайлНаДискеСуществует Сообщить /// Как скопировать файл в 1с 8.3, 8.2 КопироватьФайл // что копируем // куда копируем // перезапишет, если уже есть такой файл /// Как переместить файл в 1с 8.3, 8.2 ПереместитьФайл // перезапишет, если уже есть такой файл /// Как найти файлы в каталоге в 1с 8.3, 8.2 // возвращает массив значений типа Файл МассивНайденныхФайлов НайтиФайлы // где искать // маска поиска // если Истина, то будет искать и в подкаталогах Файл МассивНайденныхФайлов Сообщить ФайлПолноеИмя /// Как удалить файл в 1с 8.3, 8.2 // если файл readonly - будет ошибка УдалитьФайлы /// Как удалить файлы в каталоге по маске в 1с 8.3, 8.2 // поиск в каталоге нерекурсивный УдалитьФайлы // заведомо не существующий каталог // маска для поиска удаляемых файлов // если опустить маску, то удалятся все файлы и каталог /// Как получить имя временного файла в 1с 8.3, 8.2 Сообщить ПолучитьИмяВременногоФайла // например, c:\Temp\v8_11AE_4.tmp Сообщить ПолучитьИмяВременногоФайла // например, c:\Temp\v8_11AE_5.txt /// Как прочитать атрибуты файла в 1с 8.3, 8.2 Ф Файл // время последнего изменения файла СообщитьФПолучитьВремяИзменения // проверяем атрибут только чтение СообщитьФПолучитьТолькоЧтение // проверяем атрибут hidden (скрытность, невидимость) СообщитьФПолучитьНевидимость /// Как установить атрибуты файла в 1с 8.3, 8.2 // меняем время последнего изменения файла ФУстановитьВремяИзмененияТекущаяДата // меняем атрибут только чтение ФУстановитьТолькоЧтение // меняем атрибут невидимости ФУстановитьНевидимость /// Как узнать размер файла в 1с 8.3, 8.2 СообщитьФРазмер // в байтах // Как узнать по пути файл это или каталог в 1с 8.3, 8.2 ФЭтоКаталог Сообщить ФЭтоФайл Сообщить /// Как вытащить расширение файла из его пути в 1с 8.3, 8.2 СообщитьФРасширение /// Как вытащить имя файла без расширения в 1с 8.3, 8.2 СообщитьФИмяБезРасширения & НаКлиенте ОперацииНадКаталогамиКоманда /// Как создать каталог в 1с 8.3, 8.2 // каталог может уже существовать СоздатьКаталог // создадутся все подкаталоги СоздатьКаталог /// Как проверить существование каталога в 1с 8.3, 8.2 КаталогНаДиске Файл КаталогНаДискеСуществует Сообщить "Папка c:\new_dir существует" /// Как удалить каталог вместе с содержимым в 1с 8.3, 8.2 УдалитьФайлы // мы опустили маску, поэтому удалятся все файлы // внутри каталога, а также сам каталог /// Как получить каталог временных файлов в 1с 8.3, 8.2 Сообщить КаталогВременныхФайлов // например, c:\temp & НаКлиенте РаботаСВременнымХранилищемКоманда // временное хранилище - объект, в который мы можем помещать // и считывать данные произвольного типа, // доступ к которому есть и на сервере и на клиенте // это позволяет передавать между сервером и клиентом // данные, которые иначе не передать /// Как сохранить произвольное значение во временное /// хранилище в 1с 8.3, 8.2 Список СписокЗначений СписокДобавить СписокДобавить СписокДобавить АдресВХранилище ПоместитьВоВременноеХранилище Список // произвольные данные /// Как прочитать произвольное значение из временного /// хранилища в 1с 8.3, 8.2 СписокИзХранилища ПолучитьИзВременногоХранилищаАдресВХранилище СписокИзХранилища Сообщить "Значение по этому адресу уже удалено из хранилища." СообщитьСписокИзХранилища /// Как перезаписать уже сохраненное значение во временном /// хранилище в 1с 8.3, 8.2 Массив Массив МассивДобавить МассивДобавить ПоместитьВоВременноеХранилище Массив АдресВХранилище /// Сколько времени хранится значение, сохраненное во /// временном хранилище в 1с 8.3, 8.2 // всё зависит от второго параметра функции ПоместитьВоВременноеХранилище // #1 если туда в качестве адреса был передан уникальный идентификатор формы // или уже существующий адрес в хранилище, то значение будет автоматически // удалено после закрытия формы // #2 если туда в качестве адреса передан уникальный идентификатор, не // являющийся уникальным идентификатором формы, то значение будет // автоматически удалено только после завершения сеанса пользвоателя // #3 если адрес не указан, помещенное значение будет удалено после // очередного запроса сервера // см; примеры ниже /// Как сохранить значение во временное хранилище на всё /// время жизни формы в 1с 8.3, 8.2 ПоместитьВоВременноеХранилище Массив ЭтаФормаУникальныйИдентификатор /// Как сохранить значение во временное хранилище на всё /// время сеанса пользователя в 1с 8.3, 8.2 АдресВХранилище ПоместитьВоВременноеХранилище Массив УникальныйИдентификатор /// Как удалить значение из временного хранилища в 1с 8.3, 8.2 УдалитьИзВременногоХранилищаАдресВХранилище /// Как узнать является ли строка адресом во временном хранилище /// в 1с 8.3, 8.2 ЭтоАдресВременногоХранилищаАдресВХранилище Сообщить "Да, это адрес во временном хранилище." /// Как передать файл с клиента на сервер в 1с 8.3, 8.2 &НаКлиенте ПередачаФайлаСКлиентаНаСерверКоманда // создадим тестовый файл для передачи Текст ЗаписьТекста ТекстЗаписатьСтроку ТекстЗаписатьСтроку ТекстЗакрыть ОповещениеОЗавершении ОписаниеОповещения ЭтотОбъект НачатьПомещениеФайла ОповещениеОЗавершении // адрес в хранилище // имя файла ЭтаФормаУникальныйИдентификатор // если опустить последний параметр, то помещенный файл // будет удален после очередного запроса сервера // а если указать - то только после удаления объекта формы // если нужно предоставить пользователю возможность // выбрать файл самому четвёртый параметр (интерактивно) // нужно установить в Истина &НаКлиенте ВыполнитьПослеПомещенияФайлаРезультат Адрес ВыбранноеИмяФайла ДополнительныеПараметры Результат // сохраним полученный адрес в реквизит формы АдресФайлаВХранилище Адрес Сообщить "Наконец-то! Файл " ВыбранноеИмяФайла " передан на сервер и сохранён во " "временном хранилище по адресу " Адрес Сообщить "Не удалось передать файл на сервер." /// Как прочитать файл на сервере из временного хранилища /// в 1с 8.3, 8.2 &НаСервере ПрочитатьФайлНаСервереИзХранилищаНаСервере АдресФайлаВХранилище Сообщить "Сначала нужно передать файл с клиента на сервер." ДвоичныеДанные ПолучитьИзВременногоХранилищаАдресФайлаВХранилище ДвоичныеДанные Сообщить "Похоже файл уже был удалён из хранилища." ДвоичныеДанныеЗаписать Текст ЧтениеТекста Строка ТекстПрочитатьСтроку Строка СообщитьСтрока /// Как передать файл с сервера на клиент в 1с 8.3, 8.2 &НаКлиенте ПередатьФайлССервераНаКлиентКоманда АдресФайлаВХранилище Сообщить "Сначала нужно сохранить файл на сервере." Сообщить ОповещениеОЗавершении ОписаниеОповещения ЭтотОбъект ПолучаемыеФайлы Массив ПолучаемыеФайлыДобавить ОписаниеПередаваемогоФайла // куда сохранять на клиента АдресФайлаВХранилище // адрес в хранилище на сервере НачатьПолучениеФайлов ОповещениеОЗавершении ПолучаемыеФайлы &НаКлиенте ВыполнитьПослеПолученияФайловПолученныеФайлы ДополнительныеПараметры Файл ПолученныеФайлы Сообщить ФайлИмя " из " ФайлХранение