нужно создать в ТЧ событие при изменении ячейки(выбор из справочника). должна измениться другая ячейка. как получить значение в измененой ячейке?

1. aleks-lit 19.12.14 13:19 Сейчас в теме
нужно создать в ТЧ событие при изменении ячейки(выбор из справочника). должна измениться другая ячейка. как получить значение в измененой ячейке? УФ, бухгалтерия 3,0
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Release 19.12.14 15:52 Сейчас в теме
(1) aleks-lit, могу предложит посмотреть в сторону "ТекущиеДанные". Не зная что конкретно в связи с чем должно меняться, трудно советовать подробнее.
5. aleks-lit 19.12.14 16:07 Сейчас в теме
(4) Release, выбирается из справочника человек. нужно подставить его адрес в соседнюю ячейку, то бишь контактная информация. хотел сделать по подобию как в реализации, но там так накручено... в общем запутался.
6. Release 19.12.14 16:19 Сейчас в теме
(5) aleks-lit, тогда что-то вроде:
&НаКлиенте
Процедура ФизЛицоПриИзменении(Элемент)
	СтрокаТабличнойЧасти = Элементы.Таблица.ТекущиеДанные;
	СтрокаТабличнойЧасти.Адрес = ПолучитьАдрес(СтрокаТабличнойЧасти.ФизЛицо); //ПолучитьАдрес - это метод выполняемый на сервере,
										  //код получения значения (Адреса) на ваше усмотрение 
КонецПроцедуры
7. aleks-lit 22.12.14 08:19 Сейчас в теме
(6) Release, сделал так:

&НаКлиенте
Процедура Таблица1ФИОПлательщикаПриИзменении(Элемент)
	СтрокаТабличнойЧасти = Элементы.Таблица1.ТекущиеДанные;
    адрес00=ПолучитьАдрес(СтрокаТабличнойЧасти.ФИОПлательщика); //ПолучитьАдрес - это метод выполняемый на сервере,
    СтрокаТабличнойЧасти.АдресПлательщика =строка(адрес00);    //"00000000000000000000" видно, но в ячейку не выводится((((
КонецПроцедуры

&НаСервере
функция ПолучитьАдрес(значение)
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
|	Плательщики.Ссылка КАК Наименование,
|	АдресПлательщика1.Представление КАК АдресПлательщика1,
|	Плательщики.Водопотребление КАК Водопотребление,
|	Плательщики.ПоСчетчику КАК ПоСчетчику,
|	Плательщики.НомерСчетчикаКухня КАК Номерсчетчик1,
|	Плательщики.НомерСчетчикаВанная КАК Номерсчетчик2,
|	Плательщики.Отопление КАК Отопление,
|	Плательщики.ОтапливаемаяПлощадь КАК ОтоплениеПлощадь,
|	Плательщики.Счетчик1 КАК Счетчик1,
|	Плательщики.Счетчик2 КАК Счетчик2,
|	Плательщики.ЛицевойСчет КАК ЛицевойСчет,
|	ВзаиморасчетыСПлатильщикамиОстатки.ДолгОстаток КАК ДолгОстаток,
|	ПоказанияСчетчиковСрезПоследних.ПоказанияСчетчика1 КАК ПоказанияСчетчика12,
|	ПоказанияСчетчиковСрезПоследних.ПоказанияСчетчика2 КАК ПоказанияСчетчика22,
|	Плательщики.КоличествоЖильцов КАК КоличествоЖильцов
|ИЗ
|	Справочник.Платильщики КАК Плательщики
|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Платильщики.КонтактнаяИнформация КАК АдресПлательщика1
|		ПО Плательщики.Ссылка = АдресПлательщика1.Ссылка
|			И (АдресПлательщика1.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
|			И (АдресПлательщика1.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресКвартирыПлатильщика))
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСПлатильщиками.Остатки КАК ВзаиморасчетыСПлатильщикамиОстатки
|		ПО Плательщики.ЛицевойСчет = ВзаиморасчетыСПлатильщикамиОстатки.КодПлатильщика
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказанияСчетчиков.СрезПоследних КАК ПоказанияСчетчиковСрезПоследних
|		ПО Плательщики.ЛицевойСчет = ПоказанияСчетчиковСрезПоследних.КодПлательщика
|ГДЕ
|	Плательщики.ПометкаУдаления = ЛОЖЬ
|	И Плательщики.Наименование = &плательщик"  ;
Запрос.УстановитьПараметр("плательщик",значение);
РезультатЗапроса=Запрос.Выполнить();
выборка=РезультатЗапроса.Выбрать() ;
адрес= "00000000000000000000";//Выборка.АдресПлательщика1;// поставил, потому что запрос не работает. этот 
//запрос сделал из запроса заполняющего всю таблицу(прекрасно работает), путем добавления 
// И Плательщики.Наименование = &плательщик" 
//возможно, нужно получить ссылку вместо наименования?


Возврат адрес; //тут при остановке видно значение "00000000000000000000"
Конецфункции
Показать


не выводится. уже пробовал вывести нули. тоже самое, т.е. в СтрокаТабличнойЧасти.АдресПлательщика =строка(адрес00);
адресОО - есть "00000000000000000000", а не заполняет в ячейку. И сам запрос не работает.
9. Sevens 6 22.12.14 15:14 Сейчас в теме
(7) В запросе ты параметр в наименовании указал, а передаёшь ссылку. Конечно ничего не найдет;
Проверь СтрокаТабличнойЧасти.АдресПлательщика какой тип имеет;
Что бы получить всё, достаточно вернуть не только адрес, а всю полученную выборку и её уже обрабатывать в процедуре при изменении.
Только смотри, что бы в выборке была всего одна строка).
succub1_5; +1 Ответить
2. Оберон 16 19.12.14 13:25 Сейчас в теме
Форма (Form)
ОбработкаВыбора (ChoiceProcessing)
Синтаксис:

ОбработкаВыбора(<ЗначениеВыбора>, <Источник>)
Параметры:

<ЗначениеВыбора>

Тип: Произвольный.
Результат выбора в подчиненной форме. В случае множественного выбора возвращается массив выбранных значений.
<Источник>

Тип: Произвольный.
Форма - источник события.
Описание:

Возникает при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода
3. aleks-lit 19.12.14 15:26 Сейчас в теме
(2) Оберон, ничего не понял. можно по-подробнее.
8. aleks-lit 22.12.14 14:25 Сейчас в теме
и еще. как бы сделать выбор не только адреса, но и счетчик и т.д
10. succub1_5 89 22.12.14 15:16 Сейчас в теме
(8) aleks-lit,
1) почему Запрос косячный - трудно проверить - непонятно что за конфа (видимо самописная)
2) можно возвращать ТЗ (по сути все данные запроса ТЗ = РезультатЗапроса.Выгрузить) или структуру (может даже проще):
СтруктураАдреса = Новый Структура;
СтруктураАдреса.Вставить("Адрес", ЗначениеАдреса/Выборка.Адрес);
СтруктураАдреса.Вставить("Счетчик", ЗначениеСчетчика/Выборка.Счетчик);
Возврат СтруктураАдреса;
и &НаКлиенте разбирать: Сообщить(СтруктураАдреса.Адрес + " " + СтруктураАдреса.Счетчик);
3) точно не помню, но какой-то косяк был с обращение непосредственно к данным ячейки, хотя должно работать
&НаКлиенте
Процедура Таблица1ФИОПлательщикаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Таблица1.ТекущиеДанные;
СтрокаТабличнойЧасти.АдресПлательщика = "0000"; // - у меня без проблем меняет
КонецПроцедуры
11. aleks-lit 23.12.14 09:09 Сейчас в теме
хорошо, с запросом разберусь. почему жестко заданное значение не выводится? оно возвращается в клиент, но не записывается в ячейку.
12. aleks-lit 23.12.14 13:43 Сейчас в теме
и всё таки, кто мне подскажет почему

СтрокаТабличнойЧасти.АдресПлательщика ="22222";//строка(адрес00);

не меняет значение в ячейке?
&НаКлиенте
Процедура Таблица1ФИОПлательщикаПриИзменении(Элемент)
	СтрокаТабличнойЧасти = Элементы.Таблица1.ТекущиеДанные;
        адрес00=ПолучитьАдрес(СтрокаТабличнойЧасти.ФИОПлательщика); //ПолучитьАдрес - это метод выполняемый на сервере,
	СтрокаТабличнойЧасти.АдресПлательщика ="22222";//строка(адрес00);                                      //
КонецПроцедуры


может какое другое событие?
13. aleks-lit 25.12.14 08:50 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот