Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 09:18
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Сохранение файла в тонком клиенте  (Прочитано 9818 раз)

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

Оффлайн SkyWorker

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Штандартенфюрер 1С
  • Регистрация: 2012-10-12
  • Сайт: 
  • Профессия: Программист 1С
После выбора файла через диалоговое окно, для его дальнейшей передачи в реквизит документа типа "хранилищезначения" при работе через браузер (IE) вылетает ошибка: Конструктор не обнаружен. В чем может быть проблема?

Модуль формы документа:
&НаСервере
Процедура ПеремещениеФайлаВХранилище(ДанныеФайла)
Хранилище = Новый ХранилищеЗначения(ДанныеФайла);
ЭлементДок = РеквизитФормыВЗначение("Объект");
ЭлементДок.ХранилищеДокумента = Хранилище;
ЭлементДок.Записать();
ЗначениеВРеквизитФормы(ЭлементДок, "Объект");
КонецПроцедуры

&НаКлиенте
Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если ПодключитьРасширениеРаботыСФайлами()=Ложь Тогда
УстановитьРасширениеРаботыСФайлами();
КонецЕсли;
СтандартнаяОбработка=ложь;
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
Если ДиалогОткрытияФайла.Выбрать() Тогда
ИмяФайла=ДиалогОткрытияФайла.ПолноеИмяФайла;
ВыборФайла =Новый Файл(ИмяФайла);
Объект.ИмяФайла=ВыборФайла.Имя;
ДанныеФайла = Новый ДвоичныеДанные(ИмяФайла);
ПеремещениеФайлаВХранилище(ДанныеФайла);
КонецЕсли;
КонецПроцедуры


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Заюзай
ПоместитьФайл()
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн SkyWorker

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Штандартенфюрер 1С
  • Регистрация: 2012-10-12
  • Сайт: 
  • Профессия: Программист 1С
Заюзай
ПоместитьФайл()

Есть пример с получением параметров загружаемого файла через фунцию ПоместитьФайл(), в частности имени файла и дальнейшей выгрузкой из хранилищазначения из веб-клиента?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Точно знаю в книжке Радченко есть... (Сам когда-то писал для примера знакомому....)
Если найду скину сюда
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн SkyWorker

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Штандартенфюрер 1С
  • Регистрация: 2012-10-12
  • Сайт: 
  • Профессия: Программист 1С
Точно знаю в книжке Радченко есть... (Сам когда-то писал для примера знакомому....)
Если найду скину сюда

буду очень признателен, задача простая, но времени отнимает порядочно адаптация под тонкий клиент...

Оффлайн SkyWorker

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Штандартенфюрер 1С
  • Регистрация: 2012-10-12
  • Сайт: 
  • Профессия: Программист 1С
Изменил вгрузку файла:
&НаСервере
Процедура ПеремещениеФайлаВХранилище(ДанныеФайла)
Хранилище = Новый ХранилищеЗначения(ДанныеФайла);
ЭлементДок = РеквизитФормыВЗначение("Объект");
ЭлементДок.ХранилищеДокумента = Хранилище;
ЭлементДок.Записать();
ЗначениеВРеквизитФормы(ЭлементДок, "Объект");
КонецПроцедуры

&НаКлиенте
Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если ПодключитьРасширениеРаботыСФайлами()=Ложь Тогда
УстановитьРасширениеРаботыСФайлами();
КонецЕсли;
ИмяФайла = "";
ПоместитьФайл(,,ИмяФайла,,);
Файл = Новый Файл(ИмяФайла);
Объект.ИмяФайла=Файл.Имя;
КонецПроцедуры
Добавлено: 15 Окт 2012, 11:20

Извиняюсь за предыдущий пост, вот корректное помещение в хранилище:
&НаСервере
Процедура ПеремещениеФайлаВХранилище(ДвоичныеДанные)
Хранилище = новый ХранилищеЗначения(ДвоичныеДанные);
ЭлементДок = РеквизитФормыВЗначение("Объект");
ЭлементДок.ХранилищеДокумента = Хранилище;
ЭлементДок.Записать();
ЗначениеВРеквизитФормы(ЭлементДок, "Объект");
КонецПроцедуры

&НаКлиенте
Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если ПодключитьРасширениеРаботыСФайлами()=Ложь Тогда
УстановитьРасширениеРаботыСФайлами();
КонецЕсли;
ИмяФайла = ""; Адрес = "";
ПоместитьФайл(Адрес,,ИмяФайла,,);
Файл = Новый Файл(ИмяФайла);
Объект.ИмяФайла=Файл.Имя;
ПеремещениеФайлаВХранилище(ПолучитьИзВременногоХранилища(Адрес));
КонецПроцедуры

Последний раз редактировалось: SkyWorker; 15 Окт 2012, 11:20

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
&НаКлиенте
Процедура Команда1(Команда)
               
                Адрес = "";
                Выбфайл = "";
                Если ПоместитьФайл(Адрес,,Выбфайл,,УникальныйИдентификатор) Тогда
                               
                               Элементы.Имя.Видимость = Истина;
                               мФайл = Новый Файл(Выбфайл);
                               имя = мФайл.Имя;
                               СсылкаНа = Адрес;
                               
                               Модифицированность = Истина;
                               
                КонецЕсли;
               
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
               
                Если Объект.ИмяФ <> "" Тогда
                               СсылкаНа = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Файл");
                КонецЕсли;
                               
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
               
                Если ЭтоАдресВременногоХранилища(СсылкаНа) Тогда
                               Двд = ПолучитьИзВременногоХранилища(СсылкаНа);
                               ТекущийОбъект.Файл = Новый ХранилищеЗначения(Двд, Новый СжатиеДанных(9));
                               ТекущийОбъект.ИмяФ = Имя;
                КонецЕсли;       
               
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
               
                Если Объект.ИмяФ <> "" Тогда
                               Элементы.Имя.Видимость = Истина;
                КонецЕсли;       
               
КонецПроцедуры
//СсылкаНА - Это реквизит формы с типом Картинка и ПутьКДанным на реквизит объекта Файл - тип Строка
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн SkyWorker

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Штандартенфюрер 1С
  • Регистрация: 2012-10-12
  • Сайт: 
  • Профессия: Программист 1С
Открытие нужных данных реализовал так:
&НаСервере
Функция Адрес(Номер)
Запрос = новый запрос("
|ВЫБРАТЬ ПорядковыйНомер, ХранилищеДокумента, ИмяФайла
|ИЗ РегистрНакопления.Разнарядки КАК Разнарядки
|ГДЕ ПорядковыйНомер=&Номер");
Запрос.УстановитьПараметр("Номер",Номер);
РезультатЗапроса = запрос.Выполнить();
таб = новый таблицазначений;
таб=РезультатЗапроса.Выгрузить();
Хранилище=таб.Получить(0).ХранилищеДокумента;
ИмяФайла=таб.Получить(0).ИмяФайла;
Адрес=ПоместитьВоВременноеХранилище(Хранилище.Получить(),ЭтаФорма.УникальныйИдентификатор);
Возврат(Адрес);
КонецФункции

&НаКлиенте
Процедура ТаблицаОснованиеОткрытие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка=ложь;
ПолучитьФайл(Адрес(Элементы.Таблица.ТекущиеДанные.ПорядковыйНомер),Элементы.Таблица.ТекущиеДанные.Основание,Истина);
КонецПроцедуры


Теги:
 

Возможно ли получение эталонного файла конфигурации *.cf из измененной стандартной, например (УТ 11.1, БП 3.0) или вопрос о том как убрать лишние доработки и привести конфигурацию базы максимально к стандартной после варварских "доработок"?

Автор kostyaomskРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 9232
Последний ответ 30 Дек 2015, 22:14
от 1Cnastroika
Ошибка КД "Файла не существует"

Автор arkanruРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1213
Последний ответ 31 Авг 2015, 11:19
от arkanru
Cоздание Excel afqkf по оформлению из другого файла Excel

Автор bugsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2842
Последний ответ 23 Авг 2011, 14:26
от bugs
Задание типа файла при сохранении таб.документа "Сохранить копию" во внешний фа

Автор Marta_LiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4317
Последний ответ 22 Дек 2011, 15:34
от sergeevds
Загрузка из файла в Зарплата и кадры справочник "Физические лица"

Автор ЕгорийРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3150
Последний ответ 10 Авг 2011, 06:49
от Almas

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 199
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal