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

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

Создал форму V8WebItemForm содержащюю таблицу V8EditGrid1. В строке таблицы у каждой ячейки имеется три кнопки Очистить(ClearButton) , Выбор(SelectButton) и Открыть(OpenButton). Они стандартные.
ClearButton и OpenButton отключены.
Как написать обработчик события для SelectButton в private void InitializeComponent() ?




avi-murom вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
11.08.2009, 12:41
Техник
реклама
По умолчанию

Старый 11.08.2009, 13:45   #2
Пользователи
 
Регистрация: 11.08.2009
Сообщений: 4
По умолчанию

А в InitializeComponentsазве нужно подключать делегат? По моему в классе страницы создать обработчик.
Lenny вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 11.08.2009, 17:43   #3
Пользователи
 
Регистрация: 16.07.2009
Сообщений: 26
По умолчанию

Может по другому можно.
Задача: в документе заказ покупателя после выбора Номенклатуры автоматически должна подставиться Базовая единица измерения номенклатуры. Поле Базовой единицы недоступно для редактирования.
avi-murom вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 12.08.2009, 09:59   #4
Пользователи
 
Регистрация: 11.08.2009
Сообщений: 4
По умолчанию

Нужно обрабатывать событие ValueChanged колонки "Номенклатура". Выбери запросом то, что тебе нужно, и проставь в соответствующие колонки.
Lenny вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 19.08.2009, 10:15   #5
Пользователи
 
Регистрация: 16.07.2009
Сообщений: 26
По умолчанию

Писать начал недавно. Ни черта не получается.
Вход в обработку события сделал, а вот сама обработка никак не получается.

V8DbSelectCommand cmd = new V8DbSelectCommand();
cmd.Connection = ItemDataSource.Connection;
ItemDataSource.Connection.Open();
cmd.CommandText = "SELECT Номенклатура.БазоваяЕдиницаИзмерения FROM Справочник.Номенклатура AS Номенклатура WHERE Наименование = &Ссылка";

Это написал. А что указать здесь:
cmd.Parameters.Add("Ссылка", V8EditGrid1. ..........); ?

Как колонке V8EditGrid1.ЕдиницаИзмерения присвоить значание?
avi-murom вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 01.09.2009, 11:00   #6
Пользователи
 
Регистрация: 16.07.2009
Сообщений: 26
По умолчанию

Вот написал:

protected void V8EditGrid1_ValueChanged(object sender, V8EditGridValueChangedEventArgs eventArgs)
{
V8DbSelectCommand command = new V8DbSelectCommand();
command.Connection = ItemDataSource.Connection;
command.CommandText = "SELECT Номенклатура.БазоваяЕдиницаИзмерения FROM Справочник.Номенклатура WHERE НоменклатураПредставление = &СсылНаим";
command.Parameters.Add("СсылНаим", V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[1]);
using (V8DataReader reader = (V8DataReader)command.ExecuteReader())
{
while (reader.Read())
{
V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[4] = reader.GetValue(0);
}
}
}

В строке using (V8DataReader reader = (V8DataReader)command.ExecuteReader()) вылетает ошибка "В экземпляре объекта не задана ссылка на объект."
Что не так?
avi-murom вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 01.09.2009, 19:01   #7
Пользователи
 
Регистрация: 04.12.2006
Сообщений: 119
По умолчанию

Цитата:
Вот написал:

protected void V8EditGrid1_ValueChanged(object sender, V8EditGridValueChangedEventArgs eventArgs)
{
V8DbSelectCommand command = new V8DbSelectCommand();
command.Connection = ItemDataSource.Connection;
command.CommandText = "SELECT Номенклатура.БазоваяЕдиницаИзмерения FROM Справочник.Номенклатура WHERE НоменклатураПредставление = &СсылНаим";
command.Parameters.Add("СсылНаим", V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[1]);
using (V8DataReader reader = (V8DataReader)command.ExecuteReader())
{
while (reader.Read())
{
V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[4] = reader.GetValue(0);
}
}
}

В строке using (V8DataReader reader = (V8DataReader)command.ExecuteReader()) вылетает ошибка "В экземпляре объекта не задана ссылка на объект."
Что не так?
Connection не открыт?
Юрич вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 02.09.2009, 07:24   #8
Пользователи
 
Регистрация: 16.07.2009
Сообщений: 26
По умолчанию

Спасибо. Готово. Работает.

V8DbSelectCommand command = new V8DbSelectCommand();
command.Connection = ItemDataSource.Connection;
command.CommandType = CommandType.Text;
command.CommandText = @"ВЫБРАТЬ БазоваяЕдиницаИзмерения.Представление ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Наименование = &СсылНаим";
command.Parameters.Add("СсылНаим", ((V8EditGridCell)V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[1]).Presentation);
command.Connection.Open();
using (V8DataReader reader = (V8DataReader)command.ExecuteReader())
{
while (reader.Read())
{
((V8EditGridCell)V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[4]).Value = reader.GetValue(0);
((V8EditGridCell)V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[4]).Presentation = reader.GetValue(0).ToString();
((V8EditGridCell)V8EditGrid1.Items[V8EditGrid1.SelectedIndex].Cells[2]).Presentation = "";
}
}
command.Connection.Close();
}
avi-murom вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Ответ


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

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

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



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


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