CftClub.ru
Клуб специалистов ЦФТ-Банк

Система HelpDESK
На страницу Пред.  1, 2, 3  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеПт Мар 23, 2012 10:05    Ответить с цитатой
Полезность: Нет оценки
А можно каким то образом, прилеплять файл?
Ну например пользователь наскриншотил всё в ворд, сохранил его и прилепил как вложение к заявке.
А человек из службы хелп деск, нажала на кнопочку и посмотрел этот файл.
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Мар 23, 2012 10:14    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
А можно каким то образом, прилеплять файл?
Ну например пользователь наскриншотил всё в ворд, сохранил его и прилепил как вложение к заявке.
А человек из службы хелп деск, нажала на кнопочку и посмотрел этот файл.

Прикрепить не проблема.
_________________
всегда есть как минимум 2 выхода
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеПт Мар 23, 2012 11:23    Ответить с цитатой
Полезность: Нет оценки
Alexsey пишет:
yaffil пишет:
А можно каким то образом, прилеплять файл?
Ну например пользователь наскриншотил всё в ворд, сохранил его и прилепил как вложение к заявке.
А человек из службы хелп деск, нажала на кнопочку и посмотрел этот файл.

Прикрепить не проблема.


А примерно где покопать подобную реализацию?
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеПт Мар 23, 2012 12:08    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Alexsey пишет:
yaffil пишет:
А можно каким то образом, прилеплять файл?
Ну например пользователь наскриншотил всё в ворд, сохранил его и прилепил как вложение к заявке.
А человек из службы хелп деск, нажала на кнопочку и посмотрел этот файл.

Прикрепить не проблема.


А примерно где покопать подобную реализацию?


Прикрепления файла?

Есть множество путей.
а) сохранять в БЛОБ
б) менять имя на file<id заявки>.001 ... 999 и хранить в отдельной папочке на сервере.

Вопрос про то, как передать файл на сервер? Ищите операцию COPYFILES и примеры ее использования.
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Мар 23, 2012 15:22    Ответить с цитатой
Полезность: Нет оценки
Random пишет:

Есть множество путей.
а) сохранять в БЛОБ
б) менять имя на file<id заявки>.001 ... 999 и хранить в отдельной папочке на сервере.

Вопрос про то, как передать файл на сервер? Ищите операцию COPYFILES и примеры ее использования.


либо если при регистрации заявки с формы, то использовать структуру "Экспорт импорт файлов" Примеров на просторе системы не мало)
_________________
всегда есть как минимум 2 выхода
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеВт Мар 27, 2012 09:51    Ответить с цитатой
Полезность: Нет оценки
Всё гууд, любые файлы загружаются и смотрятся (ворд, ексель и т.д) по форме аналогичной карточке образцов подписей.

Еще вопросик, как поставить в memo поле символ перевода каретки на новую строку (типа энтер, при просмотре)?
pas
Профи


Вступление в Клуб: 20.11.2007
СообщениеВт Мар 27, 2012 10:13    Ответить с цитатой
Полезность: Нет оценки
Как то так: 'текст'||chr(10)||'текст'
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеВт Мар 27, 2012 10:26    Ответить с цитатой
Полезность: Нет оценки
pas пишет:
Как то так: 'текст'||chr(10)||'текст'

Большое мерси.

Про blob поля вопрос: Насколько критично или нет хранить их в базе (в плане "засирания" места и других влияний на базу).
Пусть будут (для истории и дальнейших разборок с пользователями) или лучше их чикать после перевода заявки в статус ЗАКРЫТА?
pas
Профи


Вступление в Клуб: 20.11.2007
СообщениеВт Мар 27, 2012 10:39    Ответить с цитатой
Полезность: Нет оценки
Если место позволяет, то пусть будет.
Можно, например, еще условие повесить чтоб не более 100kb файлик был.
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Мар 27, 2012 10:42    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
pas пишет:
Как то так: 'текст'||chr(10)||'текст'

Большое мерси.

Про blob поля вопрос: Насколько критично или нет хранить их в базе (в плане "засирания" места и других влияний на базу).
Пусть будут (для истории и дальнейших разборок с пользователями) или лучше их чикать после перевода заявки в статус ЗАКРЫТА?


Вероятность, что такие заявки никогда не понадобятся, близка к 100%, но не равна.
Могут быть проблемы, если просто "почикать".

Предложил бы сериализовать такие заявки в файлы, архивировать их и хранить в таком упакованном виде, и только по прошествии срока безопасности удалять.
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеВт Мар 27, 2012 12:43    Ответить с цитатой
Полезность: Нет оценки
Хочется оптимизировать процесс заведения заявки, а именно не просто завести её и потом добавлять картинки (по аналогии с картой образцов подписей), а вывести на форму кнопку с ссылкой на запуск операцию "Загрузить файлы".
В связи с этим 2 вопроса:
1. Я правильно понимаю, что при запуске операции конструктора (создать) резервируется id и его можно использовать в вызове операции "загрузить файлы"?
2. Повесил на форму кнопку, поставил на неё check валидейт (он отрабатывает, проверял), пытаюсь в блоке проверки прописать:
Код:

elsif P_MESSAGE = 'VALIDATE' then
   if P_INFO = 'FILES_ADD'
   then stdio.put_line_buf ('<% CALL LOAD_ZAYA ' || this%id || ' %>');
   end if;
....


Не запускается, что то где то упустил Sad
Как правильно вызвать операцию?

З.Ы. сама операция находится в том же справочнике, что и операция "конструктор".
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Мар 27, 2012 12:55    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Код:

elsif P_MESSAGE = 'VALIDATE' then
   if P_INFO = 'FILES_ADD'
   then stdio.put_line_buf ('<% CALL LOAD_ZAYA ' || this%id || ' %>');
   end if;
....


Не запускается, что то где то упустил Sad
Как правильно вызвать операцию?

З.Ы. сама операция находится в том же справочнике, что и операция "конструктор".


Упустил короткое наименование справочника, в котором расположена операция.
правильно так:
Код:
stdio.put_line_buf('<% CALL REPS_DATA COPYFILES ' || nvl(::[SYSTEM]%id, 1) || ' %>');


Хотя лично я вызвал бы операцию из Клиент-скрипта, так как только там можно сразу по завершении вызываемой операции понять, нажали ли Ok или Cancel и немедленно (а не ожидая дополнительных действий от пользователя) произвести какие-либо действия.

Код:

result = Form1.ScriptPlayEx("<% PLPCALL [ИМЯ ТИПА].[ИМЯ ОПЕРАЦИИ](%PARAM%.P_ИМЯ_ПАРАМЕТРА => 'ЗНАЧЕНИЕ') %>")
      if result then
...
      end if


или так:
Код:

   Runtime.PlayEx("<% PLPCALL %THIS%.[LOAD_ZAYA]( ) %>")
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеВт Мар 27, 2012 14:21    Ответить с цитатой
Полезность: Нет оценки
и обязательно признак "Выводить команды в буфер сессии" на вкладке "Дополнительные свойства"
_________________
всегда есть как минимум 2 выхода
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеВт Мар 27, 2012 14:34    Ответить с цитатой
Полезность: Нет оценки
Random пишет:

Упустил короткое наименование справочника, в котором расположена операция.
правильно так:
Код:
stdio.put_line_buf('<% CALL REPS_DATA COPYFILES ' || nvl(::[SYSTEM]%id, 1) || ' %>');



так писал тоже не поднимается экранная форма операции Sad
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеВт Мар 27, 2012 14:37    Ответить с цитатой
Полезность: Нет оценки
Alexsey пишет:
и обязательно признак "Выводить команды в буфер сессии" на вкладке "Дополнительные свойства"

Премного благодарен, с этой галочкой робит Very Happy
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru