• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Заполнение Реквизита С Типом Ссылка (справочникссылка) Через Ole Из Вн

  • Автор темы Caspiy
  • Дата начала
C

Caspiy

Доброго времени суток!
Подскажите пожалуйста, как заполнить реквизит с типом ссылка (СправочникСсылка) на 8-ке из внешнего ПО через OLE!
Уже всю голову сломал, ничего не выходит.
В 7.7 была классная функция "УстановитьАтрибут", с помощью которой данная задача решалась, в 8-ке ее зачем то удалили.

конструкция типа объект["реквизит"] = объект.Ссылка, не подходит, так как делается не на 1C.

Ну неужели ничего нельзя сделать :lol: , что за тупизм такой, удаление функции "УстановитьАтрибут", явный регресс 8 версии.
 
W

WildAnther

Может попробовать тогда сначала найти нужный элемент справочника а потом уже получить его ссылку и подставлять, нет? Или я Вас не понял=)
 
C

Caspiy

Задача реализовывается на Lotus Notes (LotusScript) - он же Basic
Вся запарка походу в том, что в LS жесткий контроль типов!
Код который работает на VB не работает на LS (выдает несоответствие типов).

Может есть гденибудь описание типа ссылка!?
 
D

Darlock

Мне кажется, в вашем случае, проще будет использовать не прямую ссылку на объект БД в 1С, а воспользоваться методом: "ПолучитьСсылку()" и передать ему как параметр ID объекта. А на стороне 1С, строку-параметр преобразовать в "Идентификатор" по которому искать. Т.е. в 1С сделать Экспортную процедуру "УстановитьСсылкуПоID(Идентификатор)"

тип идентификатора - строка, но определенного формата (разделитель "-").

А в самой процедуре уже править:

Объект = Справочники[ИмяСправочника].ПолучитьСсылку(Идентификатор);

и т.д.

P.S. ка работать с идентификатором link removed
 
C

Caspiy

Т.е. в 1С сделать Экспортную процедуру "УстановитьСсылкуПоID(Идентификатор)"
Дело в том, что трогать 1С конфигурацию - не желательно, т.к. переодически накатываются обновления от поставщика.....не хочется потом еще и эти процессы мониторить!
Но видимо если не удастся тип разобрать, то придется всетаки в конфигу свою процедуру вставлять.

Спасибо за совет!
 
D

Darlock

тип "Ссылка" так же как и тип "Объект" - сугубо уникальные типы и разработаны специально для 1С. На моей практике еще ниразу не было, чтобы внешнее ПО передавало корректный тип в 1С. Всегда используется примитив (строка, число и т.п.) а потом средствами 1С уже переваривается и приводится к нужному и понятному типу 1С. А обновления от поставщика - ничего страшншого, создайте свой модуль, вставбте туда процедуру и все. Основная конфигурация не пострадает. Главное при апдейте, не "Загрузить из файла", а "Сравнить/загрузить".
 
C

Caspiy

А обновления от поставщика - ничего страшншого, создайте свой модуль, вставбте туда процедуру и все.
Извините за примитивный вопрос, а как создать модуль с функцией, которая будет доступна через OLE, после загрузки в основную конфигурацию!?
 
D

Darlock

В модуле приложения создали свою процедур/функцию:
"Процедура/функция ВызватьМойМодуль(ИД) Экспорт"

из нее обращаетесь к своему модулю. Как добавить общий модуль?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!