Возникла хотелка сохранять файлы из соответствующей детали не поштучно, а кучей - все выделенные. Вариант https://community.terrasoft.ru/forum/topic/7719 не помог, видимо из-за разницы в платформах.
Как правильно реализовать на ServiceDesk 3.х?
Это проверка необходима, т.к. на детали файлы могут хранится не только файлы, но и ссылки.
Возможно у вас были какие либо доработки? Посмотрите в отладчике что у вас здесь
Dat('ItemTypeID')
при сохранении именно файла, и если это значение не совпадает с ft_File - замените.
переустановил SreviceDesk с предлагаемыми дебаггерами. Теперь на точке "debugger;" открывается microsoft script debugger. Как в нём значение переменной посмотреть?
Андрей, Dataset.RecordsCount возвращает 1?
Если да - значит либо колонка как-то по другому называется, либо действительно у вас в колонке "Тип файла" пусто. Может вы их как-то нестандартно заливали?
пс: чтобы наверняка, выполните SELECT на сервере.
Что-то вроде (покажет все файлы для контрагента горсовет)
SELECT ItemTypeID from tbl_Files
where FileID in (select FileID from tbl_FileInAccount where AccountID in (select ID from tbl_Account where Name ='ОАО Горсовет'))
А null там потому, что Dat открывается пустым. А пустой он потому, что в sq_FileInItem есть связка
INNER JOIN
[dbo].[tbl_FileInAccount] AS [FileInItem] ON [FileInItem].[FileID] = [tbl_Files].[ID]
На каком-то этапе [dbo].[tbl_FileInAccount] должно было подмениться на [dbo].[tbl_FileInIncident]?
Собственно, по тексту заменил
var Dat = Services.GetNewItemByUSI('ds_FileInItem');
на
var Dat = Services.GetNewItemByUSI('ds_FileInIncident');
И счастье получил. Но ведь это не правильно. При сохранении файлов из задачи или ещё откуда-то косяк будет.
Да, без завершающего окошка как-то скучно.
В общем, спасибо всем, вопрос изначальный можно считать решенным.
И всё-таки интересно, жесткая привязка tbl_FileInAccount в общей выборке sq_FileInItem - это ошибка, или так задумано?