8.х аналоги операциям в 7.7

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем wertklop, 14 окт 2009.

  1. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    подскажите, есть ли аналоги в 8.1 операции или методы как в 7.7, имеется ввиду конкретный оператор 7ки evalexpr()
    ?
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Так это метод при подключении по OLE. Разве нет?
  3. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    ну да, но это для семёрки, а мне нужно для 8ки. в 1С мне сказали, что аналогов нет, предложили использовать метод NewObject(). в принципе, он мне подходит, за исключением случая, когда мне необходимо получить значение ссылочного типа объекта
    вот например, константа имеет тип СправочникСсылка.Номенклатура. если использовать Метаданные.константы.Константа.Тип в обычном режиме, то значение выводится правильно, но если использовать через OLE NewObject("Метаданные.константы.Константа.Тип"), то это будет неправильное использование метода. как в данном случае можно узнать значение ссылочного типа константы через OLE?
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    Искомое = Соединение.Константы.Константа;
    
    Искомое и будет константой. А уж что тм у вас храниться - никто не знает. Получать ССЫЛКУ в другой базе - смысла нет - она не будет валидной. Если надо найти такой же объект - используйте ГУИД
  5. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    ещё раз повторяю, мне нужно получить значение типа константы в формате "СправочникСсылка.Номенклатура", а не значение константы.
    если делать, как ты предлагаешь, т.е. Искомое = Соединение.Константы.Константа;, то искомое принимат значение COMОбъект, что мне не подходит
    есть ли другие способы?
  6. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    При COM соединении вы можете оперерировать только простейшими типами. Зачем вам ссылка?
    СправочникСсылка.Номенклатура - в другой базе ерунда, а вот с СправочникСсылка.Номенклатура.Код уже хоть что-то можно сделать.
  7. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    есть задача сравнивать объекты метаданных. если есть объект с сылочным типом данных, как пользователь это увидит?а сравнение происходит обязательно по COM соединению
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Я же написал:
    Если надо найти такой же объект - используйте ГУИД
    Почитайте про ПОлучитьСсылку(...)
  9. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    что такое гуид???
  10. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    гуид - это уникальный идентификатор объекта. В справке поищите
  11. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    но он, насколько мне известно, нужен для идентификации конкретного объекта конретного типа данных или конкретный тип данных тоже может иметь свой гуид?
    например, тип СправочникСсылка.Номенклатура - может иметь свой гуид, помимо того, что каждый элемент этого справочника имеет свой гуид. я правильно понимаю?
  12. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Нет. Уникальный идентификатор - свойство конкретного объекта (документа или элемента справочника).
    Я не очень понимаю смысла вашей задачи. Что вы с чем хотите сравнить??? А главное зачем???
    Зачем сравнивать типы?
  13. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    есть задача у меня: в форме 2 таблицы. в каждой из таблиц по 2 колонки. 1 колонка - наименование, 2 - тип. эти таблицы заполняются списком констант. в одну таблицу идут константы одной БД, в другую - из другой. подключение к базам совершается через сом-соединение и только через него(никаких xml-файлов не должно быть!!!!!! - это главное условие). понимаешь теперь что мне нужно?
  14. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Повторяю: посмотрите справку по ПолучитьСсылку() и потом задавайте вопросы. На текущий момент Вы даже не пытались разобраться.
  15. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    я разбирался
    ПолучитьСсылку(<Уникальный идентификатор>)
    да, такой метод есть, ну и что, он не работает. во первых, он поддерживает не все объекты,
    во - вторых, уникальный идентификатор определён только для конкретного экземпляра определённого объекта конфигурации, а не самого объекта.
    в третьих, через сом-соединение вообще выводится ошибка о том, что такого метода нет вообще.

    P.S/если б не разбирался, не писал бы............
  16. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    А зачем вам этот метод в СОМ? Там другой метод нужен - оттуда нужно получить ГУИД, а не ссылку!
  17. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    подскажите тогда, каким именно методом?
  18. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
  19. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    BabySG, а сам тестировал эту функцию перед написанием?
    лично я тестировал: База81ФайлИсточник.Метаданные().константы.Получить(3).УникальныйИдентификатор();
    пишет в описании ошибки: Метод объекта не обнаружен (УникальныйИдентификатор)

    у меня в данной константе тип СправочникСсылка.Справочник1, и если ты заметишь в справке, то он вообще не поддерживает константы!
  20. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Я делаю всегда проще :)
    Пишу в общем глобальном модуле процедуру получения УИДа и использую ее - вызывать проще.

Поделиться этой страницей