| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Обращение к ячейке грид
			 
			
			Вопрос как обратится к ячейке грид чтобы занести туда данные и чтобы получит из неё данные. Как понимаю ячейка представляют собой stringedit. Чтобы получить есть чтото типа: StringEdit.valueStr(). чтобы занести есть чтото типа: 
		
		
		
		
		
		
		
	FormStringControl ctrl; ; ctrl = element.control(Control::controlName); ctrl.text("value"); Но не понимаю как получить данные именно из ячейке находящейся на выбранной строке? Через свойства наверно можно получить номер строки но куда потом это число пихать не пойму. Помогите кому не сложно.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не надо манипулировать ячейками. Если ячейка грида привязана к полю таблицы, изменяйте поле таблицы, если не привязана, используйте edit-метод.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Добрый день! 
		
		
		
		
		
		
		
	Почему работаете именно контролами, а не с табличными данными? Перекрыть метод Active на DataSource: X++: FormDataObject FormDataObject; FormDataObject = Table_ds.object( fieldNum( Table, Field ) ); FormDataObject.getValue(); // Текущее значение FormDataObject.setValue( 'text'); // Новое значение  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Мрачный тип 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Товарищ ♂uatr, объекты FormDataObject кошернее использовать для манипуляций с доступом/видимостью полей источника данных и привязанных к ним контролов, а не для установки значений полей - для этого есть табличная переменная, присобаченная к источнику данных .
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Мы летаем, кружимся, нагоняем ужасы ...  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			а что за переменная и где её взять или посмотреть)
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Дмитрий Ерин 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Using Variables with Forms 
		
		
		
		
		
		
		
	А лучше не спеша прочитайте целиком разделы Forms и Form Data Sources (см. выше по дереву оглавления).  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я конечно сильно извиняюсь, но я дуб дубом в аксапте знакю делфи и немного си... Перекрытие методов для меня неособо понятно что и как...к тому же метод уже перекрыт и там чето прописано... 
		
		
		
		
		
		
		
	Конкретно в моем случае я сделал кнопку которая отправляет в Search скан копию документа и возвращает мне его айдишник который надо сразу же поместить в ячейку последнего столбца строки которая была выбрана перед нажатием кнопки соответственно...Как с активным табличным курсором работать наверное разберусь как занести данные выше написали... А как вызвать мне этот перекрытый метод через кнопку или в методе прописать условие срабатывания если была нажата кнопка не имею даже представления, и чтобы то что там прописано уже не трогать?))  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 северный Будда 
		
			
	 | 
	
	
	
		
		
		
		 
			
			мне кажется, что вам лучше начать с прочтения вот этого - книга Разработка бизнес-приложений в Microsoft Business Solutions - Axapta версии 3.0
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	С уважением, Вячеслав  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Возможно я не понимаю слова перекрыть метод, код что прописано в методе active у дата сорс: 
		
		
		
		
		
		
		
	X++: public int active() { int ret; ret = super(); if (ret) { element.setButtonAccess(); // if (element.) // element.w(); } this.object(fieldNum(RContractTable,CreditMax)).allowEdit(RContractTable.RContractStatus != RContractStatus::Closed); this.object(fieldnum(RContractTable,SalesInvoicePostingType)).allowEdit(rContractTable.rContractPartnerType == RContractPartnerType::Cust); // if (!RContractTable.BankGroupId) BankAccount_AccountNum.allowEdit(false); // else BankAccount_AccountNum.allowEdit(true); return ret; } В кликед кнопки прописан текст программы который по выполнению выдает мне 6-ти значное число которое теперь надо занести в таблицу.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Sy4a
			 
 
			Я конечно сильно извиняюсь, но я дуб дубом в аксапте знакю делфи и немного си... я сделал кнопку которая отправляет в Search скан копию документа и возвращает мне его айдишник который надо сразу же поместить в ячейку последнего столбца строки которая была выбрана перед нажатием кнопки соответственно... 
		
	 | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Ок. Пусть пока так. Изменить значение можно хоть прямо отсюда, никакие события ловить/перекрывать не нужно.Нужно только понять что будем менять. Это ли вам нужно? Менять нужно скорее всего значение в базе данных в нужной таблице в нужной строке в нужном поле. А не просто значение в ячейке грида. Предполагаю вы хотите чтобы ваши изменения сохранились после закрытия формы и были доступны другим пользователям системы? Иначе это совершенно другая задача. Поэтому переформулируйте свой вопрос. Что касается второй части вопроса о получении данных с активной строки, вам правильно указали в сторону датасурса.  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			на данный момент люди в ячейку грида ручками записывают эти 6 цифр. видимо стоит автоапдейт или типо и данные сразу заносятся в базу где храняться. я просто думал что проще к ячейке обратится как в делфи или си. но если ни фига не проще то надо как то напрямую конектится
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
  это стандартное поведение по умолчанию для аксапты. В интерфейсные (GUI) дела в аксапте программист вообще редко когда влезает. Накидал мышкой в узел Design объектов, настроил свойства и вуаля - все работает. Чтобы визуальный редактор открывать или методы у контролов перекрывать - это вообще редкость."конектится" - сильно сказано. Операторы для доступ к таблицам БД непосредственно встроены в язык X++.  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
  Рассматривайте Grid как "окно" через которые Вы смотрите на данные. Разумеется, можно "нарисовать" некие циферки "на стекле". Но, понятно, что само по себе это достаточно сложно и бессмысленно.Реально же, Вам в коде надо всего-лишь написать X++: // Записать значение в поле текущей (выбранной пользователем) записи таблицы rContractTable.myField = 123456; // Сохранить сделанные изменения rContractTable.update(); // Обновить картинку на форме rContractTable_ds.reread(); Хотя, разумеется, вместо MyField надо подставить имя нужного поля таблицы.  
		
				__________________ 
		
		
		
		
	- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря...  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Sy4a (1). | |
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо все понятно сразу стало и всё работает.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Два датасоурса и грид | 11 | |||
| Тормозит грид | 5 | |||
| Обращение к ячейке по номеру столбца | 2 | |||
| Результат зароса в грид | 2 | |||
| Добавление столбца в грид на PurchQuickQuote | 1 | |||
		
  |