|
Как добавить картинку в поле таблицы | ☑ | ||
---|---|---|---|---|
0
Julia_S12
18.02.13
✎
09:34
|
Добрый День!
Помогите разобраться. Мне нужно вставить в поле таблицы отсканированный документ(Картинку). Как это сделать не могу понять. Данные будут храниться на сервере |
|||
1
aka AMIGO
18.02.13
✎
09:37
|
(0) для начала нажми красную букву "Я" справа от топика
|
|||
2
Случайный прохожий
18.02.13
✎
09:42
|
(0) Фотка где?
|
|||
3
Julia_S12
18.02.13
✎
09:46
|
О, Насчет кнопки спасибо..Сейчас посмотрю что ниб, но сколько не исала ничего найи не могла.точнее есть много, но для меня пока что не понятно..поэтому и прошу помочь так скажем с нуля..
|
|||
4
Julia_S12
18.02.13
✎
09:49
|
наверно мне нужно, чтоб при нажатии кнопки, было окно выбора файла, при выборе фото вставлялось в таблицу (пусть не сама картинка, а имя), но чтоб это была как ссылка. Например нашли в таблице нужного человека, и к нему прикреплен файл-резюме. Нажали на имя файла, и можно было просматривать в стандартных программах просмотра
|
|||
5
aka AMIGO
18.02.13
✎
09:50
|
(3) на здоровье :)
на первой странице форума есть еще одна кнопка, называется "Поиск". Я нажал её, в поле поиска ввет твой заголовок, получил вот что: http://www.google.ru/search?as_sitesearch=forum.mista.ru&q=%CA%E0%EA+%E4%EE%E1%E0%E2%E8%F2%FC+%EA%E0%F0%F2%E8%ED%EA%F3+%E2+%EF%EE%EB%E5+%F2%E0%E1%EB%E8%F6%FB когда вопросы были, я понимаю форумчан, отвечать не очень хочется.. ведь всё было, было.. :) |
|||
6
Cube
18.02.13
✎
09:51
|
(0) На этом форуме девушкам принято сначала фотку в личную карточку вставлять, а потом уже вопросы задавать :)
Чем удачнее фото, тем оперативнее ответы :) |
|||
7
Julia_S12
18.02.13
✎
09:52
|
аа..вон оно как:) ну щас вставлю)
|
|||
8
Julia_S12
18.02.13
✎
10:02
|
Ну давайте пока подумаем над поим вопросом))
|
|||
9
Cube
18.02.13
✎
10:04
|
(8) Не плохо.
Тебе картинку надо в табличный документ вставить или в таблицу значения, я что-то не понял чуть-чуть? |
|||
10
Julia_S12
18.02.13
✎
10:04
|
Я не спорю, есть какие то фрагменты..Но я только начала узнавать 1с,
|
|||
11
Случайный прохожий
18.02.13
✎
10:07
|
Может быть таблица в вашем понимании - это есть форма списка справочника сотрудников?
|
|||
12
Julia_S12
18.02.13
✎
10:07
|
мм...ну смотри...Я создаю информацию о человеке, Реквизиты ФИО, УЧ.Учреждение, ну и т.д, и туда же (в информацию о данном человеке мне нужно будет поместить отсканированное резюме).
|
|||
13
Cube
18.02.13
✎
10:09
|
(12) "и туда же" - нет такого объекта в 1С :)
Ну хоть скрин покажи, если объяснить не можешь :) |
|||
14
Julia_S12
18.02.13
✎
10:16
|
и куда мне скрин вставлять?
|
|||
15
aka AMIGO
18.02.13
✎
10:21
|
(14) хотя-бы сюда: http://itmages.ru/
|
|||
16
Cube
18.02.13
✎
10:21
|
(14) На любой хостинг картинок, например, сюда: http://itmages.ru
|
|||
17
Julia_S12
18.02.13
✎
10:24
|
Спасибо за подсказку:)
http://itmages.ru/image/preview/901074/687011b1 |
|||
18
Cube
18.02.13
✎
10:25
|
(17) Сюда надо вставлять ПРЯМУЮ ССЫЛКУ :)
|
|||
19
Cube
18.02.13
✎
10:25
|
||||
20
Случайный прохожий
18.02.13
✎
10:25
|
Версия платформы какая? Конфигурация типовая или самописанная?
|
|||
21
Cube
18.02.13
✎
10:26
|
(17) Ну и где на скрине мосто для фото? :)
|
|||
22
Julia_S12
18.02.13
✎
10:26
|
вот самое последнее поле: Резюме. Мне нужно, чтоб я могла выбирать сама файл, и после нажатия кнопки записать и сохранить в таблице как это отображалось
|
|||
23
Cube
18.02.13
✎
10:26
|
(20) Судя по скрину - самописка на УФ
|
|||
24
Julia_S12
18.02.13
✎
10:26
|
я сама её создаю.
|
|||
25
Случайный прохожий
18.02.13
✎
10:27
|
(17) А, все догадался :) Ошибочки орфографические исправьте :)
|
|||
26
Cube
18.02.13
✎
10:27
|
(22) Где ты таблицу на скрине видишь? Может я ослеп? :))
|
|||
27
Julia_S12
18.02.13
✎
10:28
|
ну походу я совсем тупая:В Простите уж:) Ну когда нажимаем записать и сохранить данные в таблицу записываются..
|
|||
28
Julia_S12
18.02.13
✎
10:28
|
Обязательно исправлю)
|
|||
29
Cube
18.02.13
✎
10:29
|
(27) Ты покажи скрин и выдели рамкой место, куда ты хочешь картинку с резюме разместить.
|
|||
30
Julia_S12
18.02.13
✎
10:30
|
точнее провести и закрыть
|
|||
31
Cube
18.02.13
✎
10:30
|
Ладно, у нас тут свет пропал, так что я исчезаю... :)
|
|||
32
aka AMIGO
18.02.13
✎
10:32
|
(29) ей не картинку надо, а поле с адресом картинки, справа кнопка выбора и вторая - кнопка просмотра
|
|||
33
Julia_S12
18.02.13
✎
10:34
|
Да, Именно так.
|
|||
34
aka AMIGO
18.02.13
✎
10:42
|
||||
35
Cube
18.02.13
✎
10:44
|
(34) Это для УФ не подойдет.
|
|||
36
aka AMIGO
18.02.13
✎
10:45
|
||||
37
Cube
18.02.13
✎
10:46
|
(36) Счас мой пофигуратор откроется - скину для УФ
|
|||
38
Случайный прохожий
18.02.13
✎
10:47
|
Ну если с самых низов: У тебя есть некий справочник физических лиц (сотрудников, пользователей, не важно вообщем). В этот справочник пихаешь еще один реквизит с типом "Строка" (сюда будешь сохранять путь до картинки). Сами картинки будут храниться где-нибудь в папке с базой. Соответственно этот реквизит выводишь в форму элемента справочника физ.лиц. В свойствах ставишь галочку "Имеет кнопку выбора". При нажатии на кнопку запускаешь функцию выбора картинки (файла картинки), которая в качестве возвращаемого значения возвращает адрес до файла и записывает его в наш реквизит (типа пункта 34-го). Вот... Пол дела сделано. Теперь пихаешь поле картинки туда, куда тебе нужно, и при открытии (или при нажатии на некую кнопочку) должна запускаться некая функция, которая бы обновляла картинку, исходя из сохраненного адреса. Вообщем я написал много букв и сильно устал :)
|
|||
39
Cube
18.02.13
✎
10:51
|
Загрузка файла (в примере подгружается word-файл):
&НаКлиенте Процедура ЗагрузитьМакет(Команда) Если ПодключитьРасширениеРаботыСФайлами() Тогда ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.ПолноеИмяФайла = Объект.ИмяФайлаМакета; ДиалогОткрытияФайла.Фильтр = "Документ Word 97-2003 (*.doc)|*.doc|Документ Word (*.docx)|*.docx"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = НСтр("ru = 'Выберите файл макета'"); ПомещаемыеФайлы = Новый Массив; ПомещенныеФайлы = Новый Массив; Если ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, ДиалогОткрытияФайла, Истина) Тогда МассивПодстрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(ПомещенныеФайлы[0].Имя, "\"); Объект.ИмяФайлаМакета = МассивПодстрок.Получить(МассивПодстрок.ВГраница()); Если НЕ ЗначениеЗаполнено(Объект.Наименование) Тогда МассивПодстрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Объект.ИмяФайлаМакета, "."); Объект.Наименование = Лев(Объект.ИмяФайлаМакета, СтрДлина(Объект.ИмяФайлаМакета) - СтрДлина(МассивПодстрок[МассивПодстрок.Количество() - 1]) - 1); КонецЕсли; Объект.ДатаЗагрузкиМакета = ТекущаяДата(); ЗарегистрироватьМакет(ПомещенныеФайлы[0].Хранение); Иначе Возврат; КонецЕсли; Иначе АдресВоВременномХранилище = ""; ВыбранноеИмяФайла = ""; Если ПоместитьФайл(АдресВоВременномХранилище, , ВыбранноеИмяФайла, Истина) Тогда МассивПодстрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(ВыбранноеИмяФайла, "\"); Объект.ИмяФайлаМакета = МассивПодстрок.Получить(МассивПодстрок.ВГраница()); Если НЕ ЗначениеЗаполнено(Объект.Наименование) Тогда МассивПодстрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Объект.ИмяФайлаМакета, "."); Объект.Наименование = Лев(Объект.ИмяФайлаМакета, СтрДлина(Объект.ИмяФайлаМакета) - СтрДлина(МассивПодстрок[МассивПодстрок.Количество() - 1]) - 1); КонецЕсли; ЗарегистрироватьМакет(АдресВоВременномХранилище); Иначе Возврат; КонецЕсли; КонецЕсли; ОбновитьИнформациюОФайле(); КонецПроцедуры //ЗагрузитьМакет() &НаСервере Процедура ЗарегистрироватьМакет(АдресВоВременномХранилище) ДвоичныеДанныеОбработки = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище); ДвоичныеДанныеОбработки.Записать(ПолучитьИмяВременногоФайла()); Модифицированность = Истина; ЗаписатьМакет = Истина; КонецПроцедуры //ЗарегистрироватьМакет() &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если ЗаписатьМакет Тогда ТекущийОбъект.ХранилищеМакета = Новый ХранилищеЗначения(ДвоичныеДанныеОбработки, Новый СжатиеДанных(9)); ЗаписатьМакет = Ложь; КонецЕсли; КонецПроцедуры //ПередЗаписьюНаСервере() |
|||
40
Cube
18.02.13
✎
10:53
|
+(39) Тут используется процедура общего модуля "РазложитьСтрокуВМассивПодстрок", вот она:
// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. // // Параметры: // Строка - Строка - текст с разделителями; // Разделитель - Строка - разделитель строк текста, минимум 1 символ; // ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. // Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: // - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки // включаются в результат. // - если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в // случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а // при других разделителях результатом функции будет пустой массив. // // // Возвращаемое значение: // Массив - массив строк. // // Примеры: // РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые строки; // РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; // РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; // РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; // РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); // РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); // Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт Результат = Новый Массив; // для обеспечения обратной совместимости Если ПропускатьПустыеСтроки = Неопределено Тогда ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); Если ПустаяСтрока(Строка) Тогда Если Разделитель = " " Тогда Результат.Добавить(""); КонецЕсли; Возврат Результат; КонецЕсли; КонецЕсли; // Позиция = Найти(Строка, Разделитель); Пока Позиция > 0 Цикл Подстрока = Лев(Строка, Позиция - 1); Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда Результат.Добавить(Подстрока); КонецЕсли; Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); Позиция = Найти(Строка, Разделитель); КонецЦикла; Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда Результат.Добавить(Строка); КонецЕсли; Возврат Результат; КонецФункции |
|||
41
Случайный прохожий
18.02.13
✎
10:54
|
(17) Поле "Отзыв о практике" (так-же как и "Задачи на практику") - сделай многострочным. Оценку перемести куда-нибудь в шапку на самое видное место и по умолчанию заполняй хотя бы двойкой (а то что это за оценка "0"??)
|
|||
42
Cube
18.02.13
✎
10:54
|
+(39) В реквизиты формы нужно добавить реквизит "ДвоичныеДанныеОбработки" с типом "Произвольный".
|
|||
43
Cube
18.02.13
✎
10:54
|
+(42) И Реквизит "ЗаписатьМакет" с типом "Булево".
|
|||
44
Случайный прохожий
18.02.13
✎
10:59
|
Cube, вот взял и девушку спугнул... (((
|
|||
45
Cube
18.02.13
✎
11:09
|
(44) У так УФ не для слабонервных)))
|
|||
46
Julia_S12
18.02.13
✎
12:04
|
нет нет..я тут:)
|
|||
47
Julia_S12
18.02.13
✎
12:05
|
я тут разбираюсь что вы мне посоветовали:)
|
|||
48
Cube
18.02.13
✎
12:11
|
(47) Ты погоди. Сейчас самое главное раз и навсегда решить: файлы с резюме должны храниться в базе или в папке на сервере?
Я привел пример для хранения в базе. Если хранить в папке на сервере, то код намного проще, примерно как в (34). |
|||
49
Julia_S12
18.02.13
✎
12:17
|
давай чтоб на сервере
|
|||
50
Julia_S12
18.02.13
✎
12:17
|
в базе если этож весить она потом много будет, так же??
|
|||
51
Cube
18.02.13
✎
12:20
|
(50) Ну, у каждого способа свои плюсы и минусы.
Допустим, при хранении на сервере, можно папку стереть "нечаянно", но зато можно посмотреть файл не открывая 1С... |
|||
52
Cube
18.02.13
✎
12:21
|
(49) Если на сервере, то в базе тебе нужен просто реквизит с типом "Строка" неограниченной длины, в котором ты будешь хранить путь до файла. Сейчас накидаю простой пример.
|
|||
53
Julia_S12
18.02.13
✎
12:23
|
давай, жду:)
|
|||
54
Julia_S12
18.02.13
✎
12:26
|
т.е когда пользователь будет выбирать вставляемую картинку этот путь будет копироваться в эту строку, правильно? а как в базе отображаться будет?? в видде ссылки? И можно ещё раз сказать как сделать выбор..чтоб выскакивало окошко выбора....я ж чайник:) Пока что :)
|
|||
55
Cube
18.02.13
✎
12:32
|
+(52) Вот обработка: http://files.mail.ru/C536707A04D843D48ED99A4D4D79094D
Вот её модуль формы (на всякий случай): &НаКлиенте Процедура ПутьДоФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбораФайла.Заголовок = "Выберите файл"; Если ДиалогВыбораФайла.Выбрать() Тогда Объект.ПутьДоФайла = ДиалогВыбораФайла.ПолноеИмяФайла; КонецЕсли; КонецПроцедуры //ПутьДоФайлаНачалоВыбора() &НаКлиенте Процедура ПутьДоФайлаОткрытие(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; КомандаСистемы("explorer " + Объект.ПутьДоФайла); КонецПроцедуры //ПутьДоФайлаОткрытие() |
|||
56
Cube
18.02.13
✎
12:33
|
(54) В базе будет просто строка храниться. Если надо где-то отобразить, то при любом способе хранения нужно ещё код отображения писать.
|
|||
57
Julia_S12
18.02.13
✎
12:35
|
а ты знаешь этот код??:)
|
|||
58
Cube
18.02.13
✎
12:37
|
(57) Глупый вопрос :)
После прочтения (39) у тебя разве не возникло такого ощущения? :) |
|||
59
Julia_S12
18.02.13
✎
12:39
|
так..ну сейчас я разбирусь немного и напишу что я поняла из всего этого:)
|
|||
60
Cube
18.02.13
✎
12:42
|
(59) Да да, ты сначала сделай одно, а потом уже хватайся за другое)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |