• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Странный глюк

  • Автор темы FEDAZzZ
  • Дата начала
F

FEDAZzZ

Есть небольшая база, самая простая форма в поле которой храниться несколько аттачментов. Доступ у всех к базе как Editor.

А теперь есть пару вопросов:

1) Почему если у меня как у создателя базы (права Maneger) при нажатии Edit файл редактируется и при сохранении, видны его изменения.
если же ту же операцию проводит пользователь базы, файл не сохранятеся.... Изменения не отображаются - это только у одного пользователя? Это глюк Лотуса?


2) Как сделать так что бы по нажатию какого-нибудь баттона или например акшина вложеный файл открывался на редоктирование, а при закрытии файла, сохранялся приаттаченным в поле документа. На сколько я понимаю, такая проблема рассматривалась при работе с версиями 4 и ниже, когда не было кнопки Edit, искал на форуме этот алгоритм, но так и не нашел... Может кто подскажет, где видели, а может у кого опыта побольше и сам это делал :)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
1 - может юзверь делает сэйв-аз (глюк в голове), но причин может быть и больше :)
2 - а зачем (принципиально - можно, но имеются особенности), код есть на форуме интертраста
 
F

FEDAZzZ

1. Первая проблема решилась перерустановкой клиента... Похоже программно, какая-то ошибка

2. Да говорят не удобно, бояться перепутать кнопки Edit и Open, когда не сохраняется файл в документе....

Сумел сделать только через :
Set WShell = CreateObject("WScript.Shell")
ReturnCode = WShell.Run("""" +strTempPath + "\" + vPrompt+"""", 1, True)

не удобно чуток из-за того что пользователю нельзя открывать другие Excel......
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
двойной клик по файлу - откроет диалоговое окошко, там трудно спутать :)
 
F

FEDAZzZ

двойной клик по файлу - откроет диалоговое окошко, там трудно спутать ;)


Мне тоже кажется перепутать Edit и Open не возможно...а умудряються :huh: .... а лотус еще как назло никаких предупреждений что файл не будет заменен не дает... а пользователи потом спрашивают почему фйл не поменялся :)

по-этому и возникла эта задачка...
 
K

kilcher

Неужели никак нельзя сделать чтобы можно было открывать несколько файлов(ворда или екселя)? У меня та же проблема. Если файлы в ворде уже открыты,пользователь нажимает на кнопку редактировать(написано мною) редактирует,потом документ вобще исчезает! Т.е. объект не найден! :D Сил нет уже бороться :) Им необходимо,чтобы было открыто несколько документов
 
H

hosm

Неужели никак нельзя сделать чтобы можно было открывать несколько файлов(ворда или екселя)?
Ну можно же несколько открывать! Следите, куда выкладываете вложение перед открытием (откуда документ открылся) и кто и когда документ прибивает при таинственном исчезновении.
Если с одинаковым именем вложения глюки - чем не подойдет вариант самим выкладывать файл в отдельный каталог или с уникальным именем (использовать время создания файла, например)?
Ну, а потом, естественно, самим оттуда затягивать его обратно в лотус ;)
 
K

kilcher

Ну можно же несколько открывать! Следите, куда выкладываете вложение перед открытием (откуда документ открылся) и кто и когда документ прибивает при таинственном исчезновении.
Если с одинаковым именем вложения глюки - чем не подойдет вариант самим выкладывать файл в отдельный каталог или с уникальным именем (использовать время создания файла, например)?
Ну, а потом, естественно, самим оттуда затягивать его обратно в лотус ;)
файл выкладываю на диск С пользователя,имена у каждого файла уникальны. Файл из поля удаляем,запускаем в редактирование тот что на локале. Затем его вкладываем обратно в поле. И когда открываю на редактирование(при этом открыт другой файл форд) ошибка выскакивает

Set WShell = CreateObject("WScript.Shell") 'открываем на редактирование
ReturnCode = WShell.Run("""" +strTempPath + "\" + vPrompt+"""", 1, True)

на этих строках.

Получается проблем а в том,что ворд уже запущен!

Можно как то проверять открыт ли уже ворд,если открыт то открывать только файл без запуска приложения?
 
H

hosm

Можно как то проверять открыт ли уже ворд,если открыт то открывать только файл без запуска приложения?
Можно проверять, открыт ли уже ворд, так:
Код:
Err = 0 
On Error Resume Next
Set wordAppl = GetObject ("", "Word.Application") ' ворд уже запущен, пытаемся до него достучаться
If Err<>0 Then ' не получилось :(
ну, и давным-давно через winapi можно было получить список процессов, запустить нужную прогу.
Вроде даже на этом форуме подобное пробегало.
за открытие на редактирование с WScript.Shell обращайтесь к экспертам по этому решению ;)

Мне попадались решения без WScript.Shell: заставить пользователя после редактирования нажать кнопочку - "загрузить измененный" (это используется нечасто и может быть неудобно пользователям), либо автоматическое сохранение аттача в документе при изменении даты выгруженного на диск аттача (при определенных действиях с лотус-документом - ui-сохранение, закрытие документа и т.п.).
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
ну вот и приплыли ;) - "картина репина"
терь нагородим гору из костылей и вызовов винапи (получ. списка процессов), потом начнем ловить окна процесса и пытаться нажать его кнопку (угадывая какую, потому как ворд може спросить при закрытии)
типично ;)
а в эхеле это ведёт себя по-другому
весело

а ещё - скока не грю юзверям - не открывайте в аутглюке доки в пришедшем письме, изменения не сохранятся в нем же! И ведь открывают - а потом орут - где мой документ, я его долго исправлял... :)
найти можно (с секретном темпорари от МС), но проблема остаётся

резъюм: двойной клик и открытие на редактирование - зло
 
H

hosm

lmike
от души поржала ;)
не, я до такого не додумывалась, ты был слишком высокого обо мне мнения, SendKeys - это не моё ;)
просто вспомнила из детства, сколькими способами можно узнать, запущен ли ворд и как вообще можно запустить его с нужным файлом.
С резьюмом согласна - мы вот вообще аттачи "надежно" скрываем от юзверей.
 
K

kilcher

просто вспомнила из детства, сколькими способами можно узнать, запущен ли ворд и как вообще можно запустить его с нужным файлом.


Не поделитесь этими "способами из детства"? :) А то все время с ошибками вылетает.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
решения задач, по типу: здесь и сейчас, а позже подумаем и перепишим..., приводит к куче мусорного кода (на выброс)
в таком разрезе - уж лучше "руками не трогать"
а вот уменя линух и вайн и аттачи открываются в ОО (нативном, не вайновском) - и хде мы ворд искать бум?
а есть и натиный клиент под линух и МакОСХ (дома у меня) - и что там, сподобной "автоматизадницей" делать...
покрывать матюками разраба?
В продукте заложена кроссплатформенность - не надо её нарушать (хотя индусы сильно постарались)
и не надо оперировать логикой - 90% рабочих станций... - порочная практика (как показывает жизнь)
недавно ещё никто не знал про айфон (яблозвон), а терь даже ИБМ (очень "глухая" машина) и то выпускает под него бриджи
УЁ держал 90% рынка - и где они (за 2-а года)?
появились удобные фреймворки ExtJS, jQuery...
для java: спринг, хибернэйт... (появились давно - развиваются активно и интегрятся с ИДЕ)
легкая БД скулайт (живет везде)
про андроид - ещё услышим
гугл воще прёт...
мир меняется и очень быстро
 
K

kilcher

Я конечно извиняюсь,но к чему все эти высказывания? Проблема то есть. И решать ее нужно сейчас и с помощью того что уже имеется.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
устойчивых методов решения задачи, кот. ВЫДУМАЛИ ваши пользователи нет - точка
всякие нестандардные хаки МСО + виндовз Вам нужно искать на форумах по этим продуктам
это тема не имеет отношения (никаким боком) к LDN

вот короткий ответ :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!