v7: редактирование справочника из c# в режима сервер 1с #663110


#0 by khsd70
var a3= s1.InvokeMember("n1",bf4,null,a1,new object[]{"4"}); а2-читает правильно а3 выдает ексепшн: "Значение не попадает в ожидаемый диапазон"   как  бороться?
#1 by Rie
Из C# к 7-ке... Ну, Вы, батенька, знатный извращенец... Ну и какому методу Вы передаёте параметр "4"?
#2 by khsd70
#3 by khsd70
реквизиту справочника n1
#4 by Rie
???
#5 by khsd70
справочник spr имеет реквизит n1  сначало я его читаю -все ок затем хочу изменить вроде логично в чем извращение?
#6 by Rie
+ Ты лезешь к свойству. Суёшь ему параметры. Свойство ху(д)еет. Не?
#7 by khsd70
флаг записи ставлю все по msdn
#8 by Rie
И что реквизит должен сделать с new object{"", ""}? (Вот такая странная хрень с двумя полями). Нет, может, я чего не понимаю... Тогда поясни.
#9 by Rie
Через полчаса доберусь до родного компьютера - дам код.
#10 by Rie
+ Пока что лишь замечу - спозиционируйся на элемент. А после этого его меняй.
#11 by khsd70
var  bf =  BindingFlags.InvokeMethod | BindingFlags.Static; а для а1 все равно там параметры необязательны можно и NULL
#12 by khsd70
а2 читает все нормально
#13 by khsd70
элемент спозиционирован
#14 by khsd70
#15 by khsd70
var a3 = s1.InvokeMember("n1", BindingFlags.SetProperty, null, a1, new object[] { "4" }); реально работающий код до а3 , а3 вылетает что делать?
#16 by khsd70
через установитьАтрибут конечно пишет            var d1= s1.InvokeMember("УстановитьАтрибут",bf,null,x3,new object[]{"n1","ree"});             s1.InvokeMember("Записать",bf,null,x3,new object[]{""}); но это не спортивно
#17 by khsd70
смысл всех этих телодвижений в создании прикладного интерфейса для net те чтобы напрямую писать отчеты и документы,справочники на c# используя все его преимущества
#18 by Попытка1С
Жесть какая..
#19 by khsd70
зато потом эта "жесть" обернется в красивые классы и ООП поможет радостно идти в светлое будущее
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С