powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Гиперссылка 1С 8
25 сообщений из 33, страница 1 из 2
Гиперссылка 1С 8
    #35254968
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет!!! Снова к Вам за помощью! Насчет гиперссылок 2 вопроса:
1. В конфигураторе создаю Форма\Вставить элемент управления\Надпись и ставлю галочку Гиперссылка, а какой текст обработки должен быть чтобы по клику открылся вордовский файл?
и 2. Самое сложное - у меня каждому 1С-овскому документу соответствует вордовский, т.е. напр. уже в 1С:Предприятие открываю Приходная накладная - в табличной части заполняю что пришло, а в шапке должна быть гиперссылка по которой открывается отсканировынный и помещенный в ворд договор с этим поставщиком. Причем это должны делать пользователи. У меня этот файл раньше делался в экселе и пользователь когда создавал новый объект делал гиперссылку к вордовскому документу - там все просто, а как быть в 8-ке?
Очень-Приочень-Приочень нужна Ваша помощь!!!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35255120
dlednev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. посмотри процедуру глобального модуля "ЗапуститьПриложение".
2. ну как минимум (что самое быстрое) придется хранить имя файла для каждого документа. для этого надо либо свойство для документов добавить (кстати, какая у тебя онфигурация? ;) ) либо дополнительный реквизит в документе прописать.

ЗЫ. вообщето в 1С есть такой тип - "ХранилищеДанных" - в нем можно хранить и образы файлов. А еще есть стандартный механизм работы с файлами. он в справочнике контрагентов реализован (УПП и УТ). Можешь его посмотреть... для интересу - может, пригодится
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35255547
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dlednev1. посмотри процедуру глобального модуля "ЗапуститьПриложение".
2. ну как минимум (что самое быстрое) придется хранить имя файла для каждого документа. для этого надо либо свойство для документов добавить (кстати, какая у тебя онфигурация? ;) ) либо дополнительный реквизит в документе прописать.

ЗЫ. вообщето в 1С есть такой тип - "ХранилищеДанных" - в нем можно хранить и образы файлов. А еще есть стандартный механизм работы с файлами. он в справочнике контрагентов реализован (УПП и УТ). Можешь его посмотреть... для интересу - может, пригодится
Спасибо огромное что откликнулись!!! Мне надо самостоятельно переписывать акцессовские базы данных и данные которые хранились в экселе в 1С8, поэтому никаких примеров нет, а все купленные продукты ведет сторонняя фирма и там все под паролями, попробую поговорить с ними и найти примеры. Спасибо!!!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35255655
dlednev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если разработку ведет сторонняя фирма, то изменения вам надо согласовать, ту же самую ниперссылку. А то они твои изменения в документе потрут и скажут что так и былО и нечего им под ногами мешаться. А свойства можно из интерфейса добавить - без изменений метаданных.
хотя бы ссылки на файл не потеряешь, а как првильно потом связывать - пусть разработчики потом сами думают.
ЗЫ. понимаю, что это не правильный метод "сотрудничества", но сам побывал в такой ситуации - знаю как спиной разработчики экран загораживают
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35256007
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dlednevесли разработку ведет сторонняя фирма, то изменения вам надо согласовать, ту же самую ниперссылку. А то они твои изменения в документе потрут и скажут что так и былО и нечего им под ногами мешаться. А свойства можно из интерфейса добавить - без изменений метаданных.
хотя бы ссылки на файл не потеряешь, а как првильно потом связывать - пусть разработчики потом сами думают.
ЗЫ. понимаю, что это не правильный метод "сотрудничества", но сам побывал в такой ситуации - знаю как спиной разработчики экран загораживают
Да тут такая ситуация что у меня нет перед глазами даже базы с примерами (как Борей в акцессе), единственное что есть - книга Радченко и вы мои Гуру, поэтому и приходится обращаться к вам за помощью... А вот как быть с гиперссылкой не знаю...
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35256202
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Да тут такая ситуация что у меня нет перед глазами даже базы с примерами (как Борей в акцессе)

Берешь диск ИТС, ставишь то что вам ближе - БП, УТ, УПП демо и "тренируешься на кошках"
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35256207
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
реализацию многих вещей проще подглядеть там, чем выдумывать велосипед
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35256222
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35278987
Leoligov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это уже есть на уровне типовой конфигурации, посмотрите как в справочниках сделана кнопка файлы, аналогично можно сделать и для документов, причем всё ваши документы будут хранится в самой базе.
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35284891
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leoligovэто уже есть на уровне типовой конфигурации, посмотрите как в справочниках сделана кнопка файлы, аналогично можно сделать и для документов, причем всё ваши документы будут хранится в самой базе.
Спасибо!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292028
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Накладная может быть на нескольких листах.

Если документов много, то хранил бы в базе только ссылку к файлу.
Дополнительный справочник, поля: объект, папка, имя файла.

К именом файлов добавлял ссылку объекта, чтобы если что можно было определить что за файл и наоборот по файлу найти объект, например,
Накладная_№12345_от_04.05.2008_лист_1_3e54bb02-5d93-11da-9809-005004463ac9.tif
При изменении

Для целостности данных в модуле в предопределенном методе
ПередУдалением() проверял бы наличие прикрепленных файлов.

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


Если мало , то можно и сами сканы (хранилище).
Дополнительный справочник, поля: объект, значение.

Среди сторонних разработок есть подключение сканера (вроде на mista видел)

Гиперссылку (или лучше к меню добавил кнопку) создал программно, в ПриОткрытии.

Можно реализовать drag&drop для быстрого выбора файла.

Как пример
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Процедура ПолеФотоПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	
	Попытка
		Расширение = ВРег(ПараметрыПеретаскивания.Значение.Расширение);
		Если Расширение = ".JPG" или Расширение = ".PNG" или Расширение = ".GIF" или Расширение = ".TIF" или 
			Расширение = ".BMP" Тогда
			СтандартнаяОбработка = Ложь;
			ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Перемещение;
		иначе
			ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
		КонецЕсли;
	Исключение
		ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
	КонецПопытки;
	
КонецПроцедуры

Процедура ПолеФотоПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	
	Попытка
		Расширение = ВРег(ПараметрыПеретаскивания.Значение.Расширение);
		Если Расширение = ".JPG" или Расширение = ".PNG" или Расширение = ".GIF" или Расширение = ".TIF" или Расширение = ".BMP" Тогда
			
			МояКартинка = Новый ДвоичныеДанные(ПараметрыПеретаскивания.Значение.ПолноеИмя);
			Фото = Новый ХранилищеЗначения(МояКартинка);
			ОтобразитьФото();
		
		КонецЕсли;
	Исключение
	КонецПопытки;
	
КонецПроцедуры
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292089
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Р.Накладная может быть на нескольких листах.

Если документов много, то хранил бы в базе только ссылку к файлу.
Дополнительный справочник, поля: объект, папка, имя файла.

К именом файлов добавлял ссылку объекта, чтобы если что можно было определить что за файл и наоборот по файлу найти объект, например,
Накладная_№12345_от_04.05.2008_лист_1_3e54bb02-5d93-11da-9809-005004463ac9.tif
При изменении

Для целостности данных в модуле в предопределенном методе
ПередУдалением() проверял бы наличие прикрепленных файлов.

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


Если мало , то можно и сами сканы (хранилище).
Дополнительный справочник, поля: объект, значение.

Среди сторонних разработок есть подключение сканера (вроде на mista видел)

Гиперссылку (или лучше к меню добавил кнопку) создал программно, в ПриОткрытии.

Можно реализовать drag&drop для быстрого выбора файла.

Как пример
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Процедура ПолеФотоПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	
	Попытка
		Расширение = ВРег(ПараметрыПеретаскивания.Значение.Расширение);
		Если Расширение = ".JPG" или Расширение = ".PNG" или Расширение = ".GIF" или Расширение = ".TIF" или 
			Расширение = ".BMP" Тогда
			СтандартнаяОбработка = Ложь;
			ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Перемещение;
		иначе
			ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
		КонецЕсли;
	Исключение
		ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
	КонецПопытки;
	
КонецПроцедуры

Процедура ПолеФотоПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	
	Попытка
		Расширение = ВРег(ПараметрыПеретаскивания.Значение.Расширение);
		Если Расширение = ".JPG" или Расширение = ".PNG" или Расширение = ".GIF" или Расширение = ".TIF" или Расширение = ".BMP" Тогда
			
			МояКартинка = Новый ДвоичныеДанные(ПараметрыПеретаскивания.Значение.ПолноеИмя);
			Фото = Новый ХранилищеЗначения(МояКартинка);
			ОтобразитьФото();
		
		КонецЕсли;
	Исключение
	КонецПопытки;
	
КонецПроцедуры

Спасибо огромное что откликнулись!!! Но не оставляйте меня, пожалуйста! Дело в том что мне очень-очень нужно это реализовать, но на тех дисках ИТС что мне дали этого просто нет, а больше сказали дисков нет. Я Вас очень-приочень прошу расскажите мне подробно как это делать, дело в том что я 1С практически не знаю вообще. Я так поняла что должна создать справочник СправочникСвязьСВорд один из реквизитов должен иметь тип ХранилищеЗначения. Дальше в форме Документа ДокументСГиперссылкой добавляю реквизит в котором тип определяю как СправочникСсылка.СправочникСвязьСВорд. А вот как поместить из этого справочника поле в форму чтобы пользователь при заполнении документа просто указал путь к файлу с договором по данному объекту не поняла, совсем не поняла... очень-приочень жду Вашей помощи!!!!!!!!!!!!!! Заранее благодарна!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292144
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nata75 Я так поняла что должна создать справочник СправочникСвязьСВорд один из реквизитов должен иметь тип ХранилищеЗначения. Дальше в форме Документа ДокументСГиперссылкой добавляю реквизит в котором тип определяю как СправочникСсылка.СправочникСвязьСВорд. А вот как поместить из этого справочника поле в форму чтобы пользователь при заполнении документа просто указал путь к файлу с договором по данному объекту не поняла, совсем не поняла... очень-приочень жду Вашей помощи!!!!!!!!!!!!!! Заранее благодарна!


Никакие реквизиты добавлять к документу не нужно

Если конфигурацию поддерживаете Вы, тогда создаете гиперссылку на форме.
А лучше кнопку в меню.

Если не вы поддерживаете, тогда лучше программно. Обновлять легче будет.


Создаете справочник СканыДокументов. Реквизиты: Объект (тип любая ссылка, индексировать), Фото (тип Хранилище значения).

Создаете форму списка справочника.
На форму кидаете список и картинку.

К форме добавляете реквизит ПоОбъекту тип любая ссылка.

При открытии смотреть, если задан ПоОбъекту , то устанавливать отбор по объекту.
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292198
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
//Отбор в справочнике установить так можно

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	
	СправочникСписок.Отбор["Объект"].Использование = Истина;
	СправочникСписок.Отбор["Объект"].Значение = ПоОбъекту ;
	СправочникСписок.Отбор["Объект"].ВидСравнения = ВидСравнения.Равно;
	
КонецПроцедуры

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
//В документе 
Процедура КнСканыНажатие(...
	
	ФормаСканов = Справочники.Сканы.ПолучитьФормуСписка("ПоОдномуОбъекту");
	ФормаСканов.ПоОбъекту = ЭтотОбъект.Ссылка;
	ФормаСканов.ОткрытьМодально();
	
КонецПроцедуры
// Нужно еще проверить записан ли документ ...

В форме списка справочника
По активизации строки показывать картинку.
Ну и сделать все остальное.
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292220
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Р. Nata75 Я так поняла что должна создать справочник СправочникСвязьСВорд один из реквизитов должен иметь тип ХранилищеЗначения. Дальше в форме Документа ДокументСГиперссылкой добавляю реквизит в котором тип определяю как СправочникСсылка.СправочникСвязьСВорд. А вот как поместить из этого справочника поле в форму чтобы пользователь при заполнении документа просто указал путь к файлу с договором по данному объекту не поняла, совсем не поняла... очень-приочень жду Вашей помощи!!!!!!!!!!!!!! Заранее благодарна!


Никакие реквизиты добавлять к документу не нужно

Если конфигурацию поддерживаете Вы, тогда создаете гиперссылку на форме.
А лучше кнопку в меню.

Если не вы поддерживаете, тогда лучше программно. Обновлять легче будет.


Создаете справочник СканыДокументов. Реквизиты: Объект (тип любая ссылка, индексировать), Фото (тип Хранилище значения).

Создаете форму списка справочника.
На форму кидаете список и картинку.

К форме добавляете реквизит ПоОбъекту тип любая ссылка.

При открытии смотреть, если задан ПоОбъекту , то устанавливать отбор по объекту.
Только не ругайтесь и не бросайте!!! Мне грубо говоря надо что - когда пользователь заполняет документ (что-то типа приходной накладной) т.е. задает ИмяОбъекта, Район, а в табличной части прописывает все остальное, то в шапке должна быть гиперссылка(или еще что-нибудь) при нажатии на которую открывается стандартное окно виндовс "Открытие документа" пользователь указывает путь к файлу Ворд где договор на разрешение строительства данного объекта и все, а программа должна запомнить этот путь и когда в следующий раз пользователь откроет этот документ, то при нажатии на эту гиперссылку у него на экране откроется этот документ Ворд, т.е. это надо для того, чтобы когда нужно показать договор чтобы пользователь не шел в проводник и не искал там этот договор а мог нажать только кнопку и он открывался... Не могу сделать... не получается... не бросайте!!!...
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292267
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nata75
Только не ругайтесь и не бросайте!!! Мне грубо говоря надо что - когда пользователь заполняет документ (что-то типа приходной накладной) т.е. задает ИмяОбъекта, Район, а в табличной части прописывает все остальное, то в шапке должна быть гиперссылка(или еще что-нибудь) при нажатии на которую открывается стандартное окно виндовс "Открытие документа" пользователь указывает путь к файлу Ворд где договор на разрешение строительства данного объекта и все, а программа должна запомнить этот путь и когда в следующий раз пользователь откроет этот документ, то при нажатии на эту гиперссылку у него на экране откроется этот документ Ворд, т.е. это надо для того, чтобы когда нужно показать договор чтобы пользователь не шел в проводник и не искал там этот договор а мог нажать только кнопку и он открывался... Не могу сделать... не получается... не бросайте!!!...

Можно совсем по простому, если проблемы обновления вас не касаются и нужен ворд.

Пример выбора файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Процедура ВыбратьФото()
	Перем РежимДиалога, ДиалогВыбораФайла, Каталог;

	РежимДиалога = РежимДиалогаВыбораФайла.Открытие;//.ВыборКаталога;
	ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);
	ДиалогВыбораФайла.ПроверятьСуществованиеФайла = Истина;
	ДиалогВыбораФайла.ПредварительныйПросмотр = Истина;
	ДиалогВыбораФайла.Заголовок = "Выберите фотографию";
	ДиалогВыбораФайла.Фильтр = "*.jpg|*.jpg|*.tif|*.tif|*.png|*.png|*.bmp|*.bmp|*.png|*.png|*.*|*.*";
	Если ДиалогВыбораФайла.Выбрать() Тогда
		МояКартинка = Новый ДвоичныеДанные(ДиалогВыбораФайла.ПолноеИмяФайла);
		Фото = Новый ХранилищеЗначения(МояКартинка);
	КонецЕсли;

КонецПроцедуры

Процедура КоманднаяПанель1ВыбратьФото(Кнопка)
	
	ВыбратьФото();
	
КонецПроцедуры

Замените выбор картинки на выбор вордовского документа.

По второй кнопке нужно сделать очистку Фото = Неопределено

По третьей кнопке открытие документа в ворде.

Nata75
... программа должна запомнить этот путь ...
Нельзя запоминать путь. Пользователь переместит файл или просто переименует и его из программы уже не открыть. Либо храним в БД, либо копируем в свою папку и уже тут можно запомнить путь.
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292384
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Р. Nata75
Только не ругайтесь и не бросайте!!! Мне грубо говоря надо что - когда пользователь заполняет документ (что-то типа приходной накладной) т.е. задает ИмяОбъекта, Район, а в табличной части прописывает все остальное, то в шапке должна быть гиперссылка(или еще что-нибудь) при нажатии на которую открывается стандартное окно виндовс "Открытие документа" пользователь указывает путь к файлу Ворд где договор на разрешение строительства данного объекта и все, а программа должна запомнить этот путь и когда в следующий раз пользователь откроет этот документ, то при нажатии на эту гиперссылку у него на экране откроется этот документ Ворд, т.е. это надо для того, чтобы когда нужно показать договор чтобы пользователь не шел в проводник и не искал там этот договор а мог нажать только кнопку и он открывался... Не могу сделать... не получается... не бросайте!!!...

Можно совсем по простому, если проблемы обновления вас не касаются и нужен ворд.

Пример выбора файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Процедура ВыбратьФото()
	Перем РежимДиалога, ДиалогВыбораФайла, Каталог;

	РежимДиалога = РежимДиалогаВыбораФайла.Открытие;//.ВыборКаталога;
	ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);
	ДиалогВыбораФайла.ПроверятьСуществованиеФайла = Истина;
	ДиалогВыбораФайла.ПредварительныйПросмотр = Истина;
	ДиалогВыбораФайла.Заголовок = "Выберите фотографию";
	ДиалогВыбораФайла.Фильтр = "*.jpg|*.jpg|*.tif|*.tif|*.png|*.png|*.bmp|*.bmp|*.png|*.png|*.*|*.*";
	Если ДиалогВыбораФайла.Выбрать() Тогда
		МояКартинка = Новый ДвоичныеДанные(ДиалогВыбораФайла.ПолноеИмяФайла);
		Фото = Новый ХранилищеЗначения(МояКартинка);
	КонецЕсли;

КонецПроцедуры

Процедура КоманднаяПанель1ВыбратьФото(Кнопка)
	
	ВыбратьФото();
	
КонецПроцедуры

Замените выбор картинки на выбор вордовского документа.

По второй кнопке нужно сделать очистку Фото = Неопределено

По третьей кнопке открытие документа в ворде.

Nata75
... программа должна запомнить этот путь ...
Нельзя запоминать путь. Пользователь переместит файл или просто переименует и его из программы уже не открыть. Либо храним в БД, либо копируем в свою папку и уже тут можно запомнить путь.
Ясненько, спасибо огромное!!! Если Вам будет не сложно, то пожалуйста, пришлите пример на мэйловский адрес, или в эту тему, я обязательно его скачаю и посмотрю! Заранее благодарна! Спасибо огромное что помогаете!!!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292391
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nata75
Ясненько, спасибо огромное!!! Если Вам будет не сложно, то пожалуйста, пришлите пример на мэйловский адрес, или в эту тему, я обязательно его скачаю и посмотрю! Заранее благодарна! Спасибо огромное что помогаете!!!

Если делать по простому, то и скидывать то и нечего, несколько процедур...
По любому не раньше завтра...
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35292400
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Р. Nata75
Ясненько, спасибо огромное!!! Если Вам будет не сложно, то пожалуйста, пришлите пример на мэйловский адрес, или в эту тему, я обязательно его скачаю и посмотрю! Заранее благодарна! Спасибо огромное что помогаете!!!

Если делать по простому, то и скидывать то и нечего, несколько процедур...
По любому не раньше завтра...
Алексей Р.!!!!! Завтра так завтра я и до послезавтра подожду!!! Спасибо Вам огромное!!!
мой адрес: Natik12345@list.ru или на сайт - как Вам будет удобно! Спасибо ОГРОМНОЕ!!!!!!!!!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35293492
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал, потому, что самому интересно и использую потом для себя.
После небольшой доработки к документу можно будет прикладывать любой файл. Нужно только сохранять тип файла. Тип, имя файла, и сам файл можно упаковать в структуру и структуру сохранить в БД. Или отдельными полями.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
/// 
/// с помощью этой конструкции можно сохранять в базе данных файл (в данном случае вордовский), в реквизите "Приложение".
/// А так же открывать или сохранять в новый файл.
/// Кнопки работы с приложением создаются программно.
/// Для использования в своих конфигурациях нужно
///  1  Создать в документе (справочнике) реквизит
/// "Приложение" - тип ХранилищеЗначения.
///  2  Скопировать процедуры в модуль формы
///  3  Наслаждаться результатом
/// Прим. Не рекомендуется без обдумывания использовать для конф. стоящих на поддержке.
/// Сделано не как эталон, а для примера.
/// 
/// (с) Алексей Р.
///
Процедура КоманднаяПанельПриложениеНажатиеКнопки(Кнопка)
	Перем РежимДиалога, ДиалогВыбораФайла, Кнопки, дд, ИмяФайла, Папка, ПолноеИмяФайла;	
	
	Кнопки = ЭлементыФормы.ДействияФормы.Кнопки.Приложение.Кнопки;
	Если Кнопка = Кнопки.Выбрать тогда

		РежимДиалога = РежимДиалогаВыбораФайла.Открытие;
		ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);
		ДиалогВыбораФайла.ПроверятьСуществованиеФайла = Истина;
		ДиалогВыбораФайла.ПредварительныйПросмотр = Истина;
		ДиалогВыбораФайла.Заголовок = "Выберите файл приложения";
		ДиалогВыбораФайла.Фильтр = "*.doc|*.doc"; //"*.doc|*.doc|*.xls|*.xls|*.jpg|*.jpg|*.tif|*.tif|*.png|*.png|*.bmp|*.bmp|*.png|*.png|*.*|*.*";
		Если ДиалогВыбораФайла.Выбрать() Тогда
			Попытка
				дд = Новый ДвоичныеДанные(ДиалогВыбораФайла.ПолноеИмяФайла);
				Приложение = Новый ХранилищеЗначения(дд, Новый СжатиеДанных( 6 ));
			Исключение
				Предупреждение(ОписаниеОшибки());
			КонецПопытки;
		КонецЕсли;

	ИначеЕсли Кнопка = Кнопки.Показать тогда
		
		Если Приложение.Получить() <> Неопределено тогда
			//ИмяФайла = "1.doc");
			//Папка = КаталогВременныхФайлов();
			//ПолноеИмяФайла = Папка + ?(Прав(Папка,  1 ) = "\", "", "\") + ИмяФайла; 
			ПолноеИмяФайла = ПолучитьИмяВременногоФайла(".doc");
			Попытка
				дд = Приложение.Получить();
				дд.Записать(ПолноеИмяФайла);
				ЗапуститьПриложение(ПолноеИмяФайла); 
			Исключение
				Предупреждение(ОписаниеОшибки());
			КонецПопытки;
		КонецЕсли;
		
	ИначеЕсли Кнопка = Кнопки.СохранитьВфайл тогда
		
		Если Приложение.Получить() <> Неопределено тогда
			РежимДиалога = РежимДиалогаВыбораФайла.Сохранение;
			ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога);
			ДиалогВыбораФайла.Фильтр = "*.doc|*.doc"; //"*.doc|*.doc|*.xls|*.xls|*.jpg|*.jpg|*.tif|*.tif|*.png|*.png|*.bmp|*.bmp|*.png|*.png|*.*|*.*";
			Если ДиалогВыбораФайла.Выбрать() Тогда
				Попытка
					дд = Приложение.Получить();
					дд.Записать(ДиалогВыбораФайла.ПолноеИмяФайла);
				Исключение
					Предупреждение(ОписаниеОшибки());
				КонецПопытки;
			КонецЕсли;
		КонецЕсли;
		
	ИначеЕсли Кнопка = Кнопки.Удалить тогда
		// Диалог подтверждения 
		// ...
		Приложение = Неопределено;
		
	КонецЕсли;
	
	ДоступностьКнопокОбработкиПриложения(Кнопки);
	
КонецПроцедуры

Процедура ДоступностьКнопокОбработкиПриложения(Кнопки)
	Перем д;
	
	д = Приложение.Получить() = Неопределено;
	Кнопки.Выбрать.Доступность = Не ТолькоПросмотр и д;
	Кнопки.Показать.Доступность = Не ТолькоПросмотр и Не д;
	Кнопки.СохранитьВфайл.Доступность = Не ТолькоПросмотр и Не д;
	Кнопки.Удалить.Доступность = Не ТолькоПросмотр и Не д;
	
КонецПроцедуры

Действие = Новый Действие("КоманднаяПанельПриложениеНажатиеКнопки");
нм = ЭлементыФормы.ДействияФормы.Кнопки.Добавить("Приложение", ТипКнопкиКоманднойПанели.Подменю); 		//нм.Картинка = Скрепка;
нк = нм.Кнопки.Добавить("Выбрать", 		ТипКнопкиКоманднойПанели.Действие, "Выбрать", Действие); 		нк.Картинка = БиблиотекаКартинок.ОткрытьФайл;
нк = нм.Кнопки.Добавить("Показать", 	ТипКнопкиКоманднойПанели.Действие, "Показать", Действие);		нк.Картинка = БиблиотекаКартинок.Печать;
нк = нм.Кнопки.Добавить("СохранитьВфайл",ТипКнопкиКоманднойПанели.Действие, "Сохранить в файл", Действие);нк.Картинка = БиблиотекаКартинок.СохранитьФайл;
нк = нм.Кнопки.Добавить("Удалить", 		ТипКнопкиКоманднойПанели.Действие, "Удалить", Действие);		нк.Картинка = БиблиотекаКартинок.Очистить;
ДоступностьКнопокОбработкиПриложения(нм.Кнопки);

/// --------------------------------

При желании еще можно перевести хранение файла в отдельный справочник...


Пользуйтесь кому нужно
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35293583
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Р.
Ух как!!! Впечатляет! :) Чичас буду реализовывать! Спасибо ОГРОМНЕЙШЕЕ!!!!!!
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35293594
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Процедура ДоступностьКнопокОбработкиПриложения(Кнопки)
	Перем д;
	
	д = Приложение.Получить() = Неопределено;
	Кнопки.Выбрать.Доступность = Не ТолькоПросмотр и (Не ТолькоПросмотр и д);
	Кнопки.Показать.Доступность = Не д;
	Кнопки.СохранитьВфайл.Доступность = Не д;
	Кнопки.Удалить.Доступность = Не ТолькоПросмотр и (Не ТолькоПросмотр и Не д);
	
КонецПроцедуры

Если есть изменение доступности формы нужно вызвать метод ДоступностьКнопокОбработкиПриложения(...)
Например в
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Процедура ПриОткрытии()
	
	Если Проведен тогда
		Толькопросмотр = Истина;
		ДоступностьКнопокОбработкиПриложения(ЭлементыФормы.ДействияФормы.Кнопки.Приложение.Кнопки);
	КонецЕсли;
	
	
КонецПроцедуры
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35293616
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СУПЕР!!!!!!!!! ВСЕ ПОЛУЧИЛОСЬ!!!!!!! ВСЕ ЗАРАБОТАЛО!!!!!!! :) СПАСИБО-ПРИСПАСИБО-ПРИПРИСПАСИБО ОГРОМНЕЙШЕЕ!!!!! Алексей Р. ВЫ ГЕНИЙ!!!!! РАБОТАЕТ ПРОГРАММА ИДЕАЛЬНО!!!!!
:)
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35293854
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Р. на Вашем рисунке есть пиктограммка Вордовский лист с восклицательным знаком, она тоже должна появляться в результате работы процедуры или нет? у меня такая не появляется...
...
Рейтинг: 0 / 0
Гиперссылка 1С 8
    #35293927
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nata75Алексей Р. на Вашем рисунке есть пиктограммка Вордовский лист с восклицательным знаком, она тоже должна появляться в результате работы процедуры или нет? у меня такая не появляется...

Это другое, к делу не относится...
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / [игнор отключен] [закрыт для гостей] / Гиперссылка 1С 8
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]