#0
by sda553
Началась разработка с безумной идеей, связать ms access с базой 1С по таким то и таким то данным. Вначале мне показалось все просто. Подумаешь, делаешь несколько query в access которые прилинкованы к sql базе 1С и наслаждешься. Однако трудности возникли почти сразу: Допустим, хочу я в комбобоксе на форме аксеса выбрать номенклатуру какую то. Делаю в аксесе query вида типа: from _Reference1234 --там типа справочник номенклатуры where true....--тут какие то условия отбирающие 10 номенклатур. Естественно я в комбобоксе настраиваю свойства, чтобы он показывал колонки _Code и _Descr (код и наименование) но при выборе, в качестве value был бы _IDRRef (логично, не по наименованию же их в памяти хранить и использовать). Началось с того что combobox отлично дает выбрать номенклатуру, но в качестве value (_IDRRef) аксес показывает строку "binary" и все тут, хоть ты тресни. До байтов этого binary я добраться не могу, или как то предобразовать их в массив байтов. Пока кривое решение, типа из комбобокса беру номер строки которую выбрали, потом беру рекордсет который в этом комбобоксе и отсчитываю этот номер строки и оттуда получаю поле _IDRRef как массив байтов. Пробовал заменить на select cast(_IDRRef as varchar), _Code, _Descr вообще какую то "погоду" возвращает Я конечно понимаю, что я почти везде первопроходец, но может кто нибудь уже "вязал" аксес с 1С-ной базой? Как выкрутились с этими varbinary которые в 1с-ной базе в качестве ссылок везде?
#4
by sda553
Какое то подозрительно маленькое число возвращает, должно ведь быть байтов 16 в таком целом, видимо INT такого не тянет
#14
by fantomask
ТОже в свое время мучался с такой проблемой, но в конце концов, сконвертировал все Таблицы access в XLS и загрузил в 1С. Так как это нужно было делать единожды.
#16
by sda553
Ну вообщем кому интересно, я сделал stored function для преобразования 1С-ных UID в строку вида '0x97CAC8DDA6AFB42A45BB01C70B7648B3' и соответственно заменил запрос на from _Reference1234
#17
by МихаилМ
С одной стороны - молодец с другой - скоро Вас выселят в копию базы. Ну зачем Вам видеть представления гуидов. надеюсь, Вы их отображаете по правилам 1с. иначе могут вазникнеть неувязочки.
#18
by sda553
Представления Гуидов никто не видит. Комбобокс аксесса ссылается на query список вида ТоварКод/ТоварНаименование/УИД '001'/'Зеленая коробка'/'0x97CAC8DDA6AFB42A45BB01C70B7648B3' '001'/'Красная коробка'/'0xb86ab59487144b69484ce36c3adaad92' В комбобоксе показываются только первые две колонки, третья имеет нулевую ширину (так обычно в аксесе делают), а значение комбобокса привязано к третьей. Т.е. пользователь раскрывает комбобокс, выбирает зеленую коробку, видит эту зеленую коробку, а программа видит, что combobox1.value = '0x97CAC8DDA6AFB42A45BB01C70B7648B3' Далее эта строчка легко подставляется используя VBA в дальнейшие sql запросы вида и можно делать в аксесе что надо по этим товарам. Пользователи не видят ИДшников, как в 1С так и в аксесе, они только для внутреннего использования
#19
by sda553
Ну и в довесок функция преобразования binary в varchar ALTER FUNCTION [dbo].[sp_hexadecimal] ( -- Add the parameters for the function here @binvalue varbinary AS BEGIN -- Declare the return variable here select = + 1 end -- Return the result of the function END
#20
by МихаилМ
спасибо за код. подскажу алтернативу встроенную в мс скл master.dbo.fn_varbintohexstr
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- ЗУП 82 Секрет неполного рабочего времени при расчете по этому графику
- ЗРДС в 1С Консолидация можно не загружать?
- Как пользователям запретить табло?
- Вертикальная полоса прокрутки, не работает...
- произвольное условие (по примеру условного оформления в СКД)
- От чего зависит видимость кнопки "Настройки всех пользователей" в УТ 10.3?
- БГУ - перенос остатков не виден в Авансовом отчете
- Чем CentOS Linux отличается от Fedora?
- v8: Как программно закрыть модальную форму
- Запрос к реквизиту табличной части документа
- Excel: заменить непечатаемый символ "квадратик" на "/"
- Проекты в УТ 10.3
- Не отображается сетка ячеек в макете
- Сохранить ширину колонок ТЗ в настройки формы
- получить форму во внешней обработке (8.2 управляемые формы)
- Изменение заголовка декорации = вылет. А у вас?
- v7: Зик после изменений не считает ндфл
- Отбор по нескольким значениям.Конфигурирование
- Закрывается 1С и проводник, если в папке mxl
- 1c 8.2 ПостроительDOM и вообще работа с DOM