powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / доступ к объектам 1С81 из vba по имени
3 сообщений из 3, страница 1 из 1
доступ к объектам 1С81 из vba по имени
    #35182794
1chainik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не подскажете, как (и можно ли) кроме CallByName получить объект 1С по строке?

а то пока приходится пользовать что-то наподобие:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Sub WriteNew(ByRef obj As Object, ByVal Поле1СName, Значение, Optional ReWriteField As Boolean)
 'obj - Запись 
On Error Resume Next
Dim Поле1С
    Поле1С = CallByName(obj, Поле1СName, VbGet)
    If Поле1С & "" = "" Or ReWriteField Then
        Поле1С = Nz(Значение)
        CallByName obj, Поле1СName, VbLet, Поле1С
    End If
End Sub

хочется получать что-то типа Справочники(strCatalogName)

вот пока наткнулся, - случайно - т.к вот так нельзя:
Код: plaintext
Set UUID1C = c81.УникальныйИдентификатор(МояСтрока)
что можно так получить УникальныйИдентификатор(МояСтрока) к примеру так:
Код: plaintext
Set UUID1C = c81.NewObject("УникальныйИдентификатор", МояСтрока)

а вот со справочниками так почему-то не выходит:
Код: plaintext
Set СпрОКОФ = c81.NewObject("СправочникиМенеджер","ОбщероссийскийКлассификаторОсновныхФондов")
- ругается на число свойств

вот так можно
Код: plaintext
Set СпрОКОФ = c81.NewObject("СправочникиМенеджер")
но тогда придется обращаться к конкретному справочнику через CallByName, иначе никак.
кудыть бедному крестьянину податься?


- извните, что мы к вам обращаемся. Мы сами неместные
...
Рейтинг: 0 / 0
доступ к объектам 1С81 из vba по имени
    #35183875
Guest11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Set СпрОКОФ = c81.NewObject("СправочникМенеджер.ОбщероссийскийКлассификаторОсновныхФондов")
...
Рейтинг: 0 / 0
доступ к объектам 1С81 из vba по имени
    #35184345
1chainik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest11
Код: plaintext
Set СпрОКОФ = c81.NewObject("СправочникМенеджер.ОбщероссийскийКлассификаторОсновныхФондов")

спасибо.
"это невозможно понять, это можно только запомнить".

вот примерный ход моих мыслей:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    Set СпрОКОФ = .Справочники.ОбщероссийскийКлассификаторОсновныхФондов
    'нельзя никак вот эдак:
    'Set СпрОКОФ = .NewObject("Справочники.ОбщероссийскийКлассификаторОсновныхФондов")
    'Set СпрОКОФ = .NewObject("Справочники", "ОбщероссийскийКлассификаторОсновныхФондов")
    'Set СпрОКОФ = .NewObject("СправочникиМенеджер", "Справочники.ОбщероссийскийКлассификаторОсновныхФондов")
    'Set СпрОКОФ = .NewObject("СправочникиМенеджер","ОбщероссийскийКлассификаторОсновныхФондов")
    'Set СпрОКОФ = .NewObject("СправочникМенеджер","ОбщероссийскийКлассификаторОсновныхФондов")
    '/нельзя никак вот эдак:
    Set СпрОКОФ = .NewObject("СправочникМенеджер.ОбщероссийскийКлассификаторОсновныхФондов")

зы. а как быть с документом? с регистром? а с полем записи (т.е. полем СправочникОбъект-а, регистра, документа).
понятно, что тут мне без разницы, как писать, но вот если разбирать метаданные - то кажется придется еще научиться правильно составлять имена предопределенных типов.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / доступ к объектам 1С81 из vba по имени
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]