|
Получить фото номенклатуры из другой базы. | ☑ | ||
---|---|---|---|---|
0
vikadruzhok
25.09.15
✎
17:04
|
Есть две базы с одинаковой конфигурацией. В одной базе учет по Украине, во второй - по России. Номенклатура идентична в базах, за исключением, что в Украине картинки есть, а в России только ссылки на них. Создаю отчет на СКД - нужно выводить фото. В Украине проблем нет - фото есть, а в России - ... фото нужно получить при выводе отчета с Украинской базы. Помогите, пожалуйста.
|
|||
4
Fragster
гуру
25.09.15
✎
17:22
|
проще всего наладить обмен
|
|||
6
vikadruzhok
25.09.15
✎
17:31
|
нет, это так задумано. в базе больше 30 000 номенклатур, и в каждой номенлатуре до 10 фото.
|
|||
7
Fragster
гуру
25.09.15
✎
17:34
|
(6) тогда надо хранить изображения на внешнем ресурсе (тома хранения), доступном из обоих мест, и обмениваться только элементами справочников номенклатуры и связанные файлы, версии (плюс сопутствующая инфа: частично тома хранения, например)
|
|||
10
Aloex
25.09.15
✎
17:37
|
(0) Так а в чем сложность?
|
|||
12
vikadruzhok
25.09.15
✎
17:40
|
сложность... как мне с базы №1 получить изображение в базе №2
|
|||
13
Fragster
гуру
25.09.15
✎
17:41
|
(12) нужно, чтобы изображения хранились во внешней папке, а не внутри базы. в БСП это называется "Тома хранения файлов"
|
|||
14
Fragster
гуру
25.09.15
✎
17:42
|
ну, можно придумать, конечно, всякие извращенные варианты типа передачи двоичных данных картинок через http-сервисы, но это будет давать нагрузку сразу на две базы
|
|||
15
vikadruzhok
25.09.15
✎
17:45
|
Ваш вариант реализовать "Тома хранения файлов" к сожалению невозможно. Фактически меня устроит вариант выгрузки этого файла в общую папку, а потом вторая база его заберет и удалит.
|
|||
16
vikadruzhok
25.09.15
✎
17:45
|
У меня все согласны, что это будет работать очень долго, но без фото они жить не могут
|
|||
17
DGorgoN
25.09.15
✎
17:47
|
(16) Ну а просто хранить во второй базе? Зачем изобретать велосипеды?
|
|||
18
stix2010
25.09.15
✎
17:49
|
и в чем проблема?
|
|||
19
hhhh
25.09.15
✎
17:49
|
(16) хранить картинки в обеих базах
|
|||
20
vikadruzhok
25.09.15
✎
17:50
|
больше 100 000? и номенклатуры добавляется каждый день...
|
|||
21
Web00001
25.09.15
✎
17:51
|
Вариант раз:
Функция в скд которая получает фото из второй базы, через веб сервис, или что то еще. Это будет ужасно. Вариант два самый логичный фотки и там и там. Вариант три: btsync и хранение фоток в папке которая будет синхронизироваться |
|||
22
vikadruzhok
25.09.15
✎
17:52
|
от меня хотят вариант раз
|
|||
23
hhhh
25.09.15
✎
17:52
|
(20) ну и что? до 100 миллионов можете не париться.
|
|||
24
vikadruzhok
25.09.15
✎
17:52
|
и этот вариант я реализовать не могу
|
|||
25
Web00001
25.09.15
✎
17:53
|
Тут можно извращаться как угодно, но что бы показать фотки пользователю, они в этот момент должны быть на компьютере.
|
|||
26
vikadruzhok
25.09.15
✎
17:55
|
То есть я выгружаю эти фотки на компьютер того, кто формирует отчет и потом только подставляю в отчет?
|
|||
27
vikadruzhok
25.09.15
✎
17:55
|
Вы простите за глупые вопросы
|
|||
28
Web00001
25.09.15
✎
17:56
|
(24)Не можешь реализовать web сервис, который будет по запросу отдавать нужную фотку? Можно придумать регл задание или что то рядом, которое раз в секунду будет искать файл с ссылками и в ответ оставлять папку с картинками. Но долго это все работать будет, лучше вариант три.
|
|||
29
hhhh
25.09.15
✎
17:56
|
(26) конечно. Это мама не горюй будет. По часу отчет будет лопатить.
|
|||
30
vikadruzhok
25.09.15
✎
17:57
|
Не можешь реализовать web сервис, который будет по запросу отдавать нужную фотку?
|
|||
31
vikadruzhok
25.09.15
✎
17:57
|
да, не могу
|
|||
32
vikadruzhok
25.09.15
✎
17:58
|
этому отчету ничего не страшно, если изначально они хотели три отчета, то теперь в один 10 - причем данные с двух баз
|
|||
33
vikadruzhok
25.09.15
✎
17:58
|
фото с другой базы - это только начало
|
|||
34
Web00001
25.09.15
✎
17:59
|
(26)нууу надо начинать читать информацию по этому поводу, ее много и здесь и вообще в инете.
|
|||
35
vikadruzhok
25.09.15
✎
17:59
|
web сервис... куда он положит эту фотку? в папку которую я скажу?
|
|||
36
Tatitutu
25.09.15
✎
18:00
|
подключиться в базе 2
получить картинку запихнуть в Base64Строка в базе 1 получить (можно и сохранить и показать) |
|||
37
vikadruzhok
25.09.15
✎
18:00
|
Функция UnloadImageToFileResource(GUID, FileName)
Результата = ВыгрузитьИзображениеНаФайловыйРесурс(GUID,FileName); Возврат Результата; КонецФункции Функция ВыгрузитьИзображениеНаФайловыйРесурс(ГУИД,ПутьКФайлу) Попытка УИД = Новый УникальныйИдентификатор(ГУИД); Если УИД = Неопределено Тогда Возврат "Не верный уникальный идентификатор"; КонецЕсли; Фото = Справочники.ХранилищеДополнительнойИнформации.ПолучитьСсылку(УИД); ВременныйФайл = ПолучитьИмяВременногоФайла("jpg"); Картинка = Фото.Хранилище.Получить(); Картинка.Записать(ВременныйФайл); КопироватьФайл(ВременныйФайл,ПутьКФайлу); Результат = ""; Исключение Результат = ОписаниеОшибки(); КонецПопытки; Возврат Результат; КонецФункции |
|||
38
Fragster
гуру
25.09.15
✎
18:01
|
а эти "базы" - они в одной сети?
|
|||
39
hhhh
25.09.15
✎
18:02
|
(36) да, и это в цикле 100000 раз, для каждой номенклатуры.
|
|||
40
vikadruzhok
25.09.15
✎
18:02
|
я ко второй базе подключаюсь через веб-сервер
|
|||
41
vikadruzhok
25.09.15
✎
18:02
|
отчет формируют не по всей номенклатуре сразу
|
|||
43
Fragster
гуру
25.09.15
✎
18:13
|
номенклатуры по какому полю синхронизируются? по гуидам?
|
|||
45
vikadruzhok
15.10.15
✎
15:07
|
(36) Спасибо за совет. Я не поняла изначально, что Вы имели в виду. Только когда разобралась с web-сервисами все стало на свои места.
|
|||
46
vikadruzhok
15.10.15
✎
15:09
|
Сделала так:
Написала web-сервис. Функция GetFoto(GUID) Попытка УИД = Новый УникальныйИдентификатор(GUID); Если УИД = Неопределено Тогда Возврат "Не верный уникальный идентификатор"; КонецЕсли; Фото = Справочники.ХранилищеДополнительнойИнформации.ПолучитьСсылку(УИД); Рисунок=Фото.Хранилище.Получить(); Текст=Base64Строка(Рисунок.ПолучитьДвоичныеДанные()); Исключение Текст = ОписаниеОшибки(); КонецПопытки; Возврат Текст; КонецФункции |
|||
47
vikadruzhok
15.10.15
✎
15:10
|
GUID - это уникальный идентификатор на элемент справочника "Хранилище дополнительной информации" преобразованный в строку.
|
|||
48
vikadruzhok
15.10.15
✎
15:14
|
На стороне базы-приемника подключаюсь к базе отправителю. И вызываю свою функцию GetFoto и создаю картинку со своими полученными двоичными данными:
Файл=СторонняяБаза.GetFoto(СокрЛП(ПрисоединенныйФайл.УникальныйИдентификатор())); Рисунок=Новый Картинка(Base64Значение(Файл),Ложь); |
|||
49
vikadruzhok
15.10.15
✎
15:15
|
Как подключиться к базе не описываю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |