компьютерный форум
Вернуться   Компьютерный форум > Программирование и вебстроительство > 1C (Все версии) > WEB расширение 1С 8.0

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 14.06.2006, 11:21   #1
Пользователи
 
Регистрация: 22.05.2006
Сообщений: 12
По умолчанию

Вот пытаюсь подключитсья к базе. Пишу следующее:
V8DbConnection connection = new V8DbConnection();
connection.ConnectionString =(String)ConfigurationSettings.AppSettings["Database"]+" Usr="+
(String)ConfigurationSettings.AppSettings["UserName"]+"; Pwd="+
(String)ConfigurationSettings.AppSettings["UserPassword"]+";";
connection.Open();
try
{
Object commodity=connection.Справочники.Номенклатура;

}
finally
{
connection.Close();
}

Выдаёт ошибку:
c:inetpubwwwrootTestProjectcsUtil.cs(36): '_1C.V8.Data.V8DbConnection' does not contain a definition for 'Справочники'

Вопросы:
1. что я не так делаю?
2. Я использую сейчас один из объектов веб-расширения. Каким орбазом подключаться вообще без привязки к вебрасширению? У меня не получается




glebushka вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
14.06.2006, 11:21
Техник
реклама
По умолчанию

Старый 14.06.2006, 11:23   #2
Пользователи
 
Регистрация: 26.05.2006
Сообщений: 157
По умолчанию

попробуй справочник.Номенклатура
argiT вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 14.06.2006, 11:27   #3
Пользователи
 
Регистрация: 22.05.2006
Сообщений: 12
По умолчанию

Цитата:
попробуй справочник.Номенклатура
Не работает
c:inetpubwwwrootTestProjectcsUtil.cs(36): '_1C.V8.Data.V8DbConnection' does not contain a definition for 'справочник'
glebushka вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 14.06.2006, 12:14   #4
Пользователи
 
Регистрация: 26.05.2006
Сообщений: 157
По умолчанию

V8DbConnection conn=new V8DbConnection(System.Configuration.ConfigurationS ettings.AppSettings["Database"],System.Configuration.ConfigurationSettings.AppSet tings["UserName"],System.Configuration.ConfigurationSettings.AppSet tings["UserPassword"]);
V8DbSelectCommand sel=new V8DbSelectCommand();
sel.Connection=conn;
sel.CommandType=CommandType.TableDirect;
sel.CommandText="Справочник.";
sel.Fields="Код,Наименование";
sel.WhereClause="Наименование="argiT"";
conn.Open();
try
{
V8TextBox1.Value="Ok";
using(V8DataReader reader=(V8DataReader)sel.ExecuteReader())
{
while(reader.Read())
{
V8TextBox2.Value=reader.GetValue(0);
}
}
}
finally
{
conn.Close();
}
}

значения вернул...
argiT вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 14.06.2006, 14:21   #5
Пользователи
 
Регистрация: 22.05.2006
Сообщений: 12
По умолчанию

Спасибо! Это работает
А как быть, если мне нужно не только данные выбрать, но и запустить функцию в модуле объекта (например, документа) и получить обратно значение?
glebushka вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 14.06.2006, 14:29   #6
Пользователи
 
Регистрация: 26.05.2006
Сообщений: 157
По умолчанию

с этим и у меня проблемы, кажется функция должна быть в общем модуле, посмотри V8.Call()
argiT вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 14.06.2006, 14:35   #7
Пользователи
 
Регистрация: 22.05.2006
Сообщений: 12
По умолчанию

Цитата:
с этим и у меня проблемы, кажется функция должна быть в общем модуле, посмотри V8.Call()
Ага. Смотрел. Там требуется (ComObject)target. Объект, функцию которого нужно вызвать. А вот как получить этот самый объект я так и не понял Копаюсь в доках, эксперементирую. Пока бестолку
glebushka вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 14.06.2006, 15:09   #8
Пользователи
 
Регистрация: 11.05.2006
Сообщений: 24
По умолчанию

надеюсь что понял вопрос...
Можно например так:
Сначало получаем из ObjectRef ComObject, потом получаем из него по аналогии с 1С ComObject, после этого вызываем его метод.

this.ItemDataSource.Connection.Open();
ComObject co = this.ItemDataSource.KeyValue.Reference(this.ItemDa taSource.Connection);
ComObject ob= (ComObject) _1C.V8.Data.V8.Call(ItemDataSource.Connection,co," ПолучитьОбъект",new object[]{});
object rez=_1C.V8.Data.V8.Call(this.ItemDataSource.Connec tion,ob, "НашМетод", new object[]{});
this.ItemDataSource.Connection.Close();
stitch вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 14.06.2006, 15:40   #9
Пользователи
 
Регистрация: 22.05.2006
Сообщений: 12
По умолчанию

Цитата:
надеюсь что понял вопрос...
Можно например так:
Сначало получаем из ObjectRef ComObject, потом получаем из него по аналогии с 1С ComObject, после этого вызываем его метод.

this.ItemDataSource.Connection.Open();
ComObject co = this.ItemDataSource.KeyValue.Reference(this.ItemDa taSource.Connection);
ComObject ob= (ComObject) _1C.V8.Data.V8.Call(ItemDataSource.Connection,co," ПолучитьОбъект",new object[]{});
object rez=_1C.V8.Data.V8.Call(this.ItemDataSource.Connec tion,ob, "НашМетод", new object[]{});
this.ItemDataSource.Connection.Close();
А если без this? Я просто пишу код в своём классе, без привязок к конкретным страницам. Хотелось бы, например, передавать номер документа. Искать его в базе, получать объект и вызывать функцию в модуле документа.
glebushka вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 15.06.2006, 04:44   #10
Пользователи
 
Регистрация: 11.05.2006
Сообщений: 24
По умолчанию

Цитата:
А если без this? Я просто пишу код в своём классе, без привязок к конкретным страницам. Хотелось бы, например, передавать номер документа. Искать его в базе, получать объект и вызывать функцию в модуле документа.
Про this, я думаю, стоит почитать здесь: ms-help://MS.NETFrameworkSDKv1.1/csref/html/vclrfThisPG.htm :x:
Все остальное аналогично...
stitch вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 18:16. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot
Content Relevant URLs by vBSEO 3.5.0 RC2