Не обновляются данные на форме web-клиент
У документа есть табличная часть куда пользователь может прикреплять файлы.
Процедура на клиенте
&НаКлиенте
Процедура ПрикрепитьФайл(Команда)
#Если ВебКлиент Тогда
Если Не ПодключитьРасширениеРаботыСФайлами() Тогда
УстановитьРасширениеРаботыСФайлами();
ПодключитьРасширениеРаботыСФайлами();
КонецЕсли;
#КонецЕсли
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбора.Фильтр = "Файл данных(*.*)|*.*|(*.*)|*.*";
Если ДиалогВыбора.Выбрать() Тогда
ПолноеИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
ЗаполнитьТабличнуюЧастьСпискаФайлов(ПолноеИмяФайла,ПолучитьРасширениеФайла(ПолноеИмяФайла));
Иначе
Возврат;
КонецЕсли;
ЭтаФорма.ОбновитьОтображениеДанных();
КонецПроцедуры
Процедура на сервере
&НаСервере
Процедура ЗаполнитьТабличнуюЧастьСпискаФайлов(ПолноеИмяФайла,РасширениеФайла)
ДокументОбъект = РеквизитФормыВЗначение("Объект");
НовСтрФайла = ДокументОбъект.СписокФайлов.Добавить();
НовСтрФайла.ПутьКФайлуНаКлиенте = ПолноеИмяФайла;
ИмяФайла = СтрЗаменить(ПолноеИмяФайла,"\",Символы.ПС);
ИмяФайла = СтрПолучитьСтроку(ИмяФайла,СтрЧислоСтрок(ИмяФайла));
НовСтрФайла.ИмяФайла = ИмяФайла;
НовСтрФайла.ФайлЗаписан = Ложь;
НовСтрФайла.РасширениеФайла = РасширениеФайла;
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
КонецПроцедуры
В табличную часть добавляются только текстовые значения, все остальное (передача файла с клиента на сервер) выполняется при записи документа.
Так вот, при выполнении данных 2-х процедур я вижу, что строка в ТЧ добавилась, но все значения в колонках пустые.
Процедура на клиенте
&НаКлиенте
Процедура ПрикрепитьФайл(Команда)
#Если ВебКлиент Тогда
Если Не ПодключитьРасширениеРаботыСФайлами() Тогда
УстановитьРасширениеРаботыСФайлами();
ПодключитьРасширениеРаботыСФайлами();
КонецЕсли;
#КонецЕсли
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбора.Фильтр = "Файл данных(*.*)|*.*|(*.*)|*.*";
Если ДиалогВыбора.Выбрать() Тогда
ПолноеИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
ЗаполнитьТабличнуюЧастьСпискаФайлов(ПолноеИмяФайла,ПолучитьРасширениеФайла(ПолноеИмяФайла));
Иначе
Возврат;
КонецЕсли;
ЭтаФорма.ОбновитьОтображениеДанных();
КонецПроцедуры
Процедура на сервере
&НаСервере
Процедура ЗаполнитьТабличнуюЧастьСпискаФайлов(ПолноеИмяФайла,РасширениеФайла)
ДокументОбъект = РеквизитФормыВЗначение("Объект");
НовСтрФайла = ДокументОбъект.СписокФайлов.Добавить();
НовСтрФайла.ПутьКФайлуНаКлиенте = ПолноеИмяФайла;
ИмяФайла = СтрЗаменить(ПолноеИмяФайла,"\",Символы.ПС);
ИмяФайла = СтрПолучитьСтроку(ИмяФайла,СтрЧислоСтрок(ИмяФайла));
НовСтрФайла.ИмяФайла = ИмяФайла;
НовСтрФайла.ФайлЗаписан = Ложь;
НовСтрФайла.РасширениеФайла = РасширениеФайла;
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
КонецПроцедуры
В табличную часть добавляются только текстовые значения, все остальное (передача файла с клиента на сервер) выполняется при записи документа.
Так вот, при выполнении данных 2-х процедур я вижу, что строка в ТЧ добавилась, но все значения в колонках пустые.
По теме из базы знаний
- Тюнинг типовых конфигураций 1с 8.1/8.2 (уже 7 примеров, обновлено 14.03.2013)
- Конструктор результата системы компоновки данных для работы с деревом значений в тонком клиенте.
- Консоль запросов для управляемых форм 8.3
- Внедрение веб-клиента – взгляд изнутри программиста 1С со стороны заказчика
- Просмотр документов, используя Google Docs (PDF, MS Office и не только). Без регистрации и смс
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Новая беда, никак не могу побороть.
Код процедуры
&НаКлиенте
Процедура ОбработатьНажатиеФайлВложения(Команда)
Если Не ПодключитьРасширениеРаботыСФайлами() Тогда
УстановитьРасширениеРаботыСФайлами();
ПодключитьРасширениеРаботыСФайлами();
КонецЕсли;
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбора.Фильтр = "Файл данных(*.*)|*.*|(*.*)|*.*";
Если ДиалогВыбора.Выбрать() Тогда
Сообщить(ДиалогВыбора.ПолноеИмяФайла);
КонецЕсли;
КонецПроцедуры
В тонком клиенте ДиалогВыбора.ПолноеИмяФайла строка где указан полный путь файла,
Когда запускаешь в web-клиенте, возвращает пустую строку.
Код процедуры
&НаКлиенте
Процедура ОбработатьНажатиеФайлВложения(Команда)
Если Не ПодключитьРасширениеРаботыСФайлами() Тогда
УстановитьРасширениеРаботыСФайлами();
ПодключитьРасширениеРаботыСФайлами();
КонецЕсли;
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбора.Фильтр = "Файл данных(*.*)|*.*|(*.*)|*.*";
Если ДиалогВыбора.Выбрать() Тогда
Сообщить(ДиалогВыбора.ПолноеИмяФайла);
КонецЕсли;
КонецПроцедуры
В тонком клиенте ДиалогВыбора.ПолноеИмяФайла строка где указан полный путь файла,
Когда запускаешь в web-клиенте, возвращает пустую строку.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот