#0
by dimqa
Здравствуйте. Мне потребовалось в 1с добавить внешний источник из PostgreSQL но в таблицах используется тип uuid, который в 1с я не могу ни прочитать ни записать. Если в 1с я указывают тип "Строка", то в форме списка он мне показывает значения как 53 67 A7 8 и зайти элементы не дает с ошибкой типа: Ошибка преобразования данных XDTO: НачалоСвойства: val Форма: Элемент Тип: { по причине: Ошибка преобразования данных XDTO: Значение: 53 67 A7 8 Тип: { по причине: Ошибка отображения типов: Отображение лексического значения '53 67 A7 8' в значение типа 'УникальныйИдентификатор' Если в 1с я указываю тип УникальныйИдентификатор, то в списке пусто, но новый элемент даст создать (выдаёт ошибку но в базе появляется) Я подозреваю что он пытается преобразовать значение в ::bytea , хотя на самом деле надо ::uuid Как быть? поиск ничего толком не дал
#2
by dimqa
Смысл как раз во внешнем источнике, так как по таблицам нужны сложные отчеты и т.д., а не так, чтобы на каждую таблицу свою обработку рисовать.. хотя может до этого и дойдёт если не найдётся решение
#4
by dimqa
Может и выход из положения но пока во вьюхе cast(... as varchar) не даёт сделать... Хотя в обычном селекте нормально выбирает и показывает тип
#5
by dimqa
С помощью views у меня получилось, но план показывает что не используются индексы, что не есть хорошо((
#8
by dimqa
В общем проблема решена следующими костылями: CREATE OR REPLACE VIEW public.wusers AS SELECT manager_wusers.id::character varying AS id, manager_wusers.login, manager_wusers.password, И если таблицу придётся изменять, то нужно еще добавить правило (и вручную следить чтобы id был uuid, т.к. теперь можно ввести любую строку и база будет ругаться матом) CREATE RULE _INSERT AS ON INSERT TO wusers DO INSTEAD INSERT INTO main_wusers (id, login, password, full_name) VALUES (new.id::uuid, new.login, new.password, new.full_name) RETURNING main_wusers.id::character varying AS id, manager_wusers.login, Это самая простая таблица которую нужно было внедрить, а их еще штук 30 с немалым количеством полей, так что теперь работы у меня выше крыши))) PS: На этой таблице почему-то не работают индексы. Может на нормальных таблицах больших объёмах всё будет норм, ну или добавлять индексы к вьюхам как-то вручную PSS: Главное не забывать страдать.
#11
by rsv
+ Т.е. копнуть поглубже постгри и сделать на физику витрины в виде вьюх , табличных функций или чего там еще .
#12
by dimqa
Ну я в принципе этот вариант и описал, осталось решить проблему с индексами, не используя материализованных вьюх, а как всё работает. Думаю первое время потерпят тормоза если что
#13
by bolero
для обратной задачи (прочитать uuid, сохраненные 1с как bytea) у меня есть вот такой костыль может, тебе сделать в обратную сторону, но на стороне 1с? кмк, раз недоработка на стороне 1с - то и костыль туда вставлять, а не в нормально работающую систему. мало ли, когда-нибудь эту особенность починят, и тогда останется один костыль убрать, а не кучу вьюх CREATE OR REPLACE FUNCTION bytea2guid (bytea) RETURNS UUID AS $$ DECLARE bin ALIAS FOR $1;
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Преобразование значения к типу Число не может быть выполнено
- СУБД PostgreSQL для Windows
- Как подружить 1С 8.0 УТ и Outlook?
- Семинар «Использование PostgreSQL. Особенности применения PostgreSQL в связ
- PostgreSql и 1С
- Ошибка в запросе "Преобразование к типу число не может быть выполнено "
- PostgreSQL Создание новой базы
- Преобразование значения к типу Дата не может быть выполнено
- Как увеличить время ожидания блокировки в PostgreSQL?
- Как подружить 1С 8.2 и Exchange 2010
- Как реквизиту документа установить связь по типу программно?
- Как подружить модем Yota с планшетом?
В этой группе 1С
- Обмен УТ 11.2 - БП 3.0. Объект не найден
- Автоматическое добавление строк в табличную часть документа
- Виды запасов и продажа с использованием запасов другой организации УТ 11
- 8.3. Как правильно открыть форму выбора справочника?
- v7: 1С 7.7 бух запись книги покупок изменить код вида операции на 22
- Импорт xml в 1С
- После перевода на УФ, на клиенте стали недоступны процедуры общего модуля
- Как правильно списать материалы в производство 1С УПП
- Не работает стандартный период у временной таблицы СКД
- Округление больших ("длинных") чисел, большим количеством знаков после запятой.
- УстановитьНовыйНомер() устанавливает один и тот же номер
- 1С ERP 2.1 Себестоимость полуфабрикатов собственного производства.
- 1c 8 обмен ут 10.3 бп 2.0 очищает контактную информацию
- БП. Превышено максимальное время ожидания предоставления блокировки
- 1С не видит Apach/Апач веб-сервер
- v7: Рарус 77 АвтоТранспорт, лицензирование Eutron.exe и т.д.
- v7: Смена периода расчета зарплаты
- 1С Бухгалтерия 3.0 Субконто
- Как получить синоним перечисления на английском языке
- ТЗ в запрос 1с 8.3 УПП