Ошибка в веб-клиенте: Значение не является значением объектного типа (Записать)

1. pusal 22.10.24 11:14 Сейчас в теме
Добрый день!

Данная ошибка проявляется только в веб-клиенте, т.к. в тонком/толстом клиенте не проявляется.
Значение не является значением объектного типа (Записать)
{Обработка.ПомощникЗаведениПлатежа.Форма.Форма.Форма(522)}: ДанныеИзХранилища.Записать(ИмяПромежуточногоФайла);
{Обработка.ПомощникЗаведениПлатежа.Форма.Форма.Форма(235)}: ОтправитьВОплатуНаСервере();

[ScriptRuntimeError, ScriptUseError]

Выполнение кода запинается в веб-клиенте при записи промежуточного файла...
Повторю - только в веб-клиенте.
Буду благодарен за любые наводки на решение вопроса. Спасибо!

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

Показать
По теме из базы знаний
Найденные решения
17. SlavaKron 22.10.24 14:20 Сейчас в теме
Всё-таки, обратите внимание на выделенный параметр.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1880116 22.10.24 11:47 Сейчас в теме
А откуда у тебя в веб-клиенте берется адрес временного хранилища в выборке в веб-клиенте?
Повторю - только в веб-клиенте!
3. pusal 22.10.24 11:56 Сейчас в теме
(2) адрес хранится в таблице значений на форме в строке, затем передаётся в выборку для обхода. Подключил отладку для веб-клиента для демонстрации, см. картинку. Но метод "ПолучитьИзВременногоХранилища" возвращает Неопределено
Прикрепленные файлы:
4. user1880116 22.10.24 12:14 Сейчас в теме
(3)
адрес хранится в таблице значений на форме в строк
Код помещения показывай.
7. pusal 22.10.24 13:35 Сейчас в теме
(4)
&НаКлиенте
Процедура ЗаявкаНаОплатуВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	Если Поле.Имя = "ЗаявкаНаОплатуФайлыВложения" Тогда
		
		ТекущиеДанные = Элементы.ЗаявкаНаОплату.ТекущиеДанные;
		ДополнительныеПараметры = Новый Структура;
		ДополнительныеПараметры.Вставить("УИДСтроки", ТекущиеДанные.УникальныйИдентификатор);
		
		ПриЗавершении = Новый ОписаниеОповещения("ПоместитьФайлыЗавершение", ЭтотОбъект, ДополнительныеПараметры);
		
		ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
		ДиалогОткрытияФайла.ПолноеИмяФайла = "";
		ДиалогОткрытияФайла.МножественныйВыбор = Истина;
		ДиалогОткрытияФайла.Заголовок = "Выберите файл(ы) счета / договора";
		
		НачатьПомещениеФайлов(ПриЗавершении, ДиалогОткрытияФайла, Истина,,);
		
	КонецЕсли;	
	
КонецПроцедуры

&НаКлиенте
Процедура ПоместитьФайлыЗавершение(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт
	
	Если ПомещенныеФайлы <> Неопределено Тогда
		Для Каждого Файл Из ПомещенныеФайлы Цикл
			НоваяСтрока = ФайлыСтрокТЧ.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, Файл);
			НоваяСтрока.УИДСтроки = ДополнительныеПараметры.УИДСтроки;
		КонецЦикла;
	Иначе
		Возврат;	
	КонецЕсли;

    ТекущиеДанные = Элементы.ЗаявкаНаОплату.ТекущиеДанные;
    Количество = ПодсчитатьКоличествоВложений(ДополнительныеПараметры.УИДСтроки);
    ТекущиеДанные.ФайлыВложения = "вложения " + "(" + Количество + ")";	
	
КонецПроцедуры
Показать
Прикрепленные файлы:
5. spacecraft 22.10.24 12:16 Сейчас в теме
(3)
адрес хранится в таблице значений на форме в строке

ага, а выборка запроса. что-то не стыкуется...
8. pusal 22.10.24 13:43 Сейчас в теме
(5) запрос делается к ТЗ на форме, хранящей в себе информацию о помещенных файлах. Мне необходимы не все строки ТЗ, а те, где хранится определенный уникальный идентификатор. Поэтому и запрос.
9. pusal 22.10.24 13:44 Сейчас в теме
(5)
					ТаблицаВложений = ФайлыСтрокТЧ.Выгрузить();
					
					Запрос = Новый Запрос;
					Запрос.Текст = 
						"ВЫБРАТЬ
						|	ТЧ.УИДСтроки КАК УИДСтроки,
						|	ТЧ.Имя КАК Имя,
						|	ТЧ.ПолноеИмя КАК ПолноеИмя,
						|	ТЧ.Хранение КАК Хранение
						|ПОМЕСТИТЬ ВТТЧ
						|ИЗ
						|	&ТЧ КАК ТЧ
						|ГДЕ
						|	ТЧ.УИДСтроки = &УИДСтроки
						|;
						|
						|////////////////////////////////////////////////////////////­////////////////////
						|ВЫБРАТЬ
						|	ВТТЧ.УИДСтроки КАК УИДСтроки,
						|	ВТТЧ.Имя КАК Имя,
						|	ВТТЧ.ПолноеИмя КАК ПолноеИмя,
						|	ВТТЧ.Хранение КАК Хранение
						|ИЗ
						|	ВТТЧ КАК ВТТЧ";
					
					Запрос.УстановитьПараметр("УИДСтроки", ВыборкаДоговор.УникальныйИдентификатор);
					Запрос.УстановитьПараметр("ТЧ", ТаблицаВложений);
					
					РезультатЗапроса = Запрос.Выполнить();
					
					Выборка = РезультатЗапроса.Выбрать();
					
					Пока Выборка.Следующий() Цикл
						
						ДанныеИзХранилища = ПолучитьИзВременногоХранилища(Выборка.Хранение);
						РасширениеФайла = ПолучитьРасширениеИмениФайла(Выборка.Имя);
						ИмяПромежуточногоФайла = ПолучитьИмяВременногоФайла(РасширениеФайла);
						ДанныеИзХранилища.Записать(ИмяПромежуточногоФайла);	
						
						ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
						ПараметрыФайла.Автор = ПараметрыСеанса.ТекущийПользователь.Наименование;
						ПараметрыФайла.ВладелецФайлов = ДокументСсылка;
						ПараметрыФайла.ИмяБезРасширения = Выборка.Имя;
						ПараметрыФайла.РасширениеБезТочки = РасширениеФайла;
						РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, Выборка.Хранение);	
						
					КонецЦикла;
Показать
10. user2033930 22.10.24 13:49 Сейчас в теме
(9) А что, Найти() уже не прокатывает при работе с ТЗ? Надо обязательно со своим барахлом лезть в СУБД для поиска ОДНОЙ строки???
11. pusal 22.10.24 13:52 Сейчас в теме
(10) даже если и прокатывает, то разве это как-то повлияет на возникшую проблему в веб-клиенте?
12. pusal 22.10.24 13:57 Сейчас в теме
(10) и в каком месте я лезу в СУБД? Источником данных запроса является переданная параметром ТЗ.
13. spacecraft 22.10.24 14:00 Сейчас в теме
(12)
и в каком месте я лезу в СУБД?

а временная таблица где создается?
14. pusal 22.10.24 14:02 Сейчас в теме
(13) в оперативной памяти
15. spacecraft 22.10.24 14:06 Сейчас в теме
(14) далеко не только в оперативной памяти. Но в любом случае это временная таблица сервера sql. И он будет работать с ней, а не 1С.
16. pusal 22.10.24 14:19 Сейчас в теме
(15)
далеко не только в оперативной памяти. Но в любом случае это временная таблица сервера sql. И он будет работать с ней, а не 1С.

благодарю, я изучу эту тему подробнее - не придавал большого значения раньше. Буферный кеш сервера хранит эти ВТ, но не записывает их в БД, поэтому не вижу проблемы, что делаю запрос. Оптимальнее ли будет использовать метод "НайтиСтроки()" - я не знаю, поверю вам на слово, но точно знаю только, что это не решило проблему.
19. spacecraft 22.10.24 14:22 Сейчас в теме
(16) так ответ скорее всего уже был озвучен в 6.
6. SlavaKron 22.10.24 12:20 Сейчас в теме
Вангую, при помещении в хранилище, забыли указать УИД формы.
17. SlavaKron 22.10.24 14:20 Сейчас в теме
Всё-таки, обратите внимание на выделенный параметр.
Прикрепленные файлы:
18. pusal 22.10.24 14:21 Сейчас в теме
(17) спасибо, сейчас попробую!
20. pusal 22.10.24 16:18 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот