Снегопат
https://snegopat.ru/forum/

Скрипт Буфер обмена
https://snegopat.ru/forum/viewtopic.php?f=3&t=46
Страница 1 из 2

Автор:  artbear [ 19 окт 2011, 15:11 ]
Заголовок сообщения:  Скрипт Буфер обмена

Представляю новый скрипт "Буфер обмена"
Описание http://snegopat.ru/scripts/wiki?name=Clipboard.js

Скрипт для удобной работы через буфер обмена, перехвата открытия файлов для Снегопата и немедленного открытия файлов, если имя файла есть в буфере обмена
Автор : Артур Аюханов aka artbear aartbear@gmail.com
Дата создания: 19.10.2011
Описание : аналог моего скрипта для Опенконфа в 1С 7.7 - входит в состав скрипта Навигация

1. Я часто работаю с файлами с помощью FAR-а следующим образом:
Нахожу нужный файл в ФАРе, копирую полный путь к файлу в буфер обмена, далее переключаюсь в Конфигуратор,
Выполняю действие "Открыть файл", вставляю путь файла из буфера обмена, и нажимаю Открыть для открытия нужного файла в Конфигураторе.
Уверен, что по такой схеме работаю не я один.
И вот у меня родилась мысль немного автоматизировать этот процесс:
разработчик копирует полный путь файла в буфер обмена(тут как обычно), переключается в Конфигуратор, выбирает "Открыть файла",
а дальше вступает скрипт: перехватывает открытие файла, проверяет буфер обмена, если в буфере имя существующего файла, проверяет расширение этого файла, если это файл с разрешенным разрешением для 1С, то скрипт немедленно открывает этот файл в Конфигураторе.
2. Аналогичным образом перехватывается и автоматизируется действие "Сравнить, объединить с конфигурацией из файла" для файлов конфигураций
Планы: В настройках скрипта можно будет указать: - пользовательская настройка разрешенных расширений открываемых файлов - по умолчанию erf, epf, txt, mxl, html, st, pff - немедленное открытие файла при двойном нажатии на файл в ФАР-е или Проводнике и т.п.

Сделано на базе http://www.forum.script-coding.com/viewtopic.php?id=442

Требования: Необходима библиотека dynwrapx.dll, ее нужно зарегистрировать скачать из ветки на форуме (см. последний пост)

Автор:  palytsh [ 20 окт 2011, 06:20 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

Цитата:
Нахожу нужный файл в ФАРе, копирую полный путь к файлу в буфер обмена, далее переключаюсь в Конфигуратор,
Выполняю действие "Открыть файл", вставляю путь файла из буфера обмена, и нажимаю Открыть для открытия нужного файла в Конфигураторе.


Поделюсь опытом: нахожу в Тотал Командере файл и просто драгэндропаю его в окно конфигуратора :-)

Автор:  artbear [ 20 окт 2011, 08:59 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

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

Автор:  ildary [ 28 фев 2013, 23:23 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

Уважаемый Артур, не могли бы Вы подсказать, как правильно реализовать такую вещь:
Ваш скрипт прекрасно работает в снегопате, но его реализация в 7.7 при нажатии CTRL+O еще и спрашивала "Открыть файл <имя файла в буфере>?", что позволяло при необходимость загрузить другой файл. Теперь же скрипт сразу грузит файл без вопроса. Попытался добавить этот код самостоятельно, но так как познания в JS у меня нулевые, то не смог - выдает ошибку
"object expected" в строке "confirm". Вот кусок кода, мое добавление выделено ********

enabledFileExt = массивРасширений.Найти(file.Расширение) != undefined;
if(!enabledFileExt) return;

//*************
UserAction = confirm("Click OK to continue. Click Cancel to stop.")
if (!UserAction) {
enableOpen = false
return;
}
//*************

Если это добавление заработает покажется полезным всем - было бы классно его вставить для всех.

Автор:  artbear [ 01 мар 2013, 10:44 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

ИМХО confirm не будет работать в Снегопате.
Юзай Вопрос (штатный 1С) или MessageBox.
Примеры можно найти в скриптах

Автор:  ildary [ 01 мар 2013, 12:27 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

Прошу прощения за глупый вопрос - разве скрипты (которые судя по их шапке работают на javascript) умеют исполнять восьмерочный код?

Автор:  orefkov [ 01 мар 2013, 12:37 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

Они могут использовать многие объекты 1С и вызывать многие глобальные методы 1С.
В шапке форума прикреплена ветка - "что можно создавать в v8new"
А по глобальным методам смотри файл "core\std\scripts\0_global_context.js"

И в этом великая сила!

Автор:  artbear [ 01 мар 2013, 17:58 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

Да и на вики-страницах snegopat.ru\scripts есть описание

Автор:  ildary [ 01 мар 2013, 20:46 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

Большое спасибо всем ответившим, вот работающий код (добавленный код выделен комментарием):

enabledFileExt = массивРасширений.Найти(file.Расширение) != undefined;
if(!enabledFileExt) return;

//*************
if(MessageBox( "Открыть файл " + selectedFileName + "?", mbYesNo | mbDefButton1 | mbIconQuestion, "Снегопат") == mbaYes) { }
else {
enableOpen = false
return;
}

//*************

p.s. Пользуясь снегопатом, чуствуешь себя Писториусом, которому приделали биопротезы - доселе ползавший бежит как заяц.

Автор:  suvolod [ 24 мар 2013, 12:02 ]
Заголовок сообщения:  Re: Скрипт Буфер обмена

Было бы неплохо дополнить данный скрипт таким функционалом: если указан не полный путь, а только каталог, где расположен файл, то чтобы при выполнении стандартной команды Файл > Открыть.. диалог выбора файла позиционировался на папке, путь до которой сохранен в буфер обмена.

Обычно путь до каталога получить гораздо легче (имею ввиду, стандарным способом, без ФАР-а и прочих ухищрений), а так... придется копировать путь из адресной строки, открывать notepad, собирать строку, соединяя путь и имя файла, копировать собранную строку... трудозатраты становятся сопоставимыми с обычным открытием обработки через выбор каталога/файла, и весь смысл этого по сути неплохого скрипта пропадает.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/