Имя: Пароль:
1C
1С v8
как значение из одной таблицы передать в параметр запроса для формирования друго
,
0 Swetlana521911
 
12.11.13
11:25
Существует форма обработки кодов. При вводе кода гнг формируется табличная часть (код, название, значение). теперь из этого значения нужно получить другую таблицу. Короче говоря мне нужно передать в параметр запроса значение ячейки другой таблицы.
1 Господин ПЖ
 
12.11.13
11:27
я не против
2 skunk
 
12.11.13
11:27
и в чем проблема?
3 Ненавижу 1С
 
гуру
12.11.13
11:27
что не получилось конкретно?
4 Swetlana521911
 
12.11.13
11:35
&НаКлиенте
Процедура кодКодГНГПриИзменении(Элемент)
ПоискатьКодЕТСНГ(КодГНГ);
    
КонецПроцедуры
&наСервере
Функция ПоискатьКодЕТСНГ(КодГНГ)

    //Если ЗначениеЗаполнено(КодГНГ) Тогда
        
//   ТЗ = РеквизитФормыВЗначение("Значение");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КодГНГ.Код,
    |    КодГНГ.Наименование,
    |    КодГНГ.КодЕТСНГ
    |ИЗ
    |    РегистрСведений.КодГНГ КАК КодГНГ
    |ГДЕ
    |    КодГНГ.Код ПОДОБНО &КодГНГ";
    Запрос.УстановитьПараметр("КодГНГ","%"+КодГНГ+"%");
//Значение.Загрузить(Запрос.Выполнить().Выгрузить());
   // ТЗ = Запрос.Выполнить().Выгрузить();
   //ЗначениеВРеквизитФормы(ТЗ, "Значение");
    Результат = Запрос.Выполнить().Выгрузить();
ЭтаФорма.ЗначениеГНГ.Загрузить(Результат);


КонецФункции

&НаКлиенте
Процедура ЗначениеГНГПриАктивизацииСтроки(Элемент)
    //Код = ЭтаФорма.ЗначениеГНГ.КодЕТСНГ;
    Запрос(КодЕТСНГ);
КонецПроцедуры

&НаСервере
Процедура Запрос(КодЕТСНГ)
    
ТЗ = Новый ТаблицаЗначений;
Для каждого стр из ЗначениеГНГ Цикл
ЗначениеГНГ.Получить(КодЕТСНГ);
КонецЦикла;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|КодЕТСНГ.Код1,
|КодЕТСНГ.Наименование1
|ИЗ
|    РегистрСведений.КодЕТСНГ КАК КодЕТСНГ
|ГДЕ
|    КодЕТСНГ.Код1 ПОДОБНО &КодЕТСНГ";

Запрос.УстановитьПараметр("КодЕТСНГ",КодЕТСНГ+"%");

Результат = Запрос.Выполнить().Выгрузить();
ЭтаФорма.ЗначениеЕТСНГ.Загрузить(Результат);
    
КонецПроцедуры
5 Swetlana521911
 
12.11.13
11:42
вот первым запросом я заполняю первую табличку, а во второй запрос надо передать параметр (кодЕТСНГ), который будет получен в 1 таблице в столбце КодЕТСНГ.
6 1dvd
 
12.11.13
11:45
(4) плохая идея - назвать процедуру и переменную одиннаково - Запрос
7 Swetlana521911
 
12.11.13
11:50
ну это ладно... как вот используя ТЗ получить значение необходимой ячейки
8 1dvd
 
12.11.13
11:52
(7) получить не проблема. Главное знать какая строка нужна. Вот это совсем не понятно по твоему коду
9 Ofizer
 
12.11.13
11:58
(7)
&НаКлиенте
Процедура ЗначениеГНГПриАктивизацииСтроки(Элемент)
// например, вот так
    КодЕТСНГ = Элемент.ТекущаяСтрока[Элемент.ТекущаяКолонка.Данные]

    Запрос(КодЕТСНГ);
КонецПроцедуры
10 Swetlana521911
 
12.11.13
11:58
а там одна всего получиться.. получается что я хочу: использовать процедуру при активизации строки. и какую строку выделит с той и нужно брать значение.
11 Swetlana521911
 
12.11.13
12:10
{ОбщаяФорма.Форма1.Форма(38)}: Поле объекта не обнаружено (КодЕТСНГ)
    КодЕТСНГ = Элемент.ТекущаяСтрока[ЗначениеГНГ.КодЕТСНГ.Данные];
ошибка выходит.. либо я что то не так подставляю
12 Ofizer
 
12.11.13
12:15
(11) а это что такое - "ЗначениеГНГ.КодЕТСНГ.Данные"?
я вот так писал - "Элемент.ТекущаяКолонка.Данные"
13 Swetlana521911
 
12.11.13
12:17
{ОбщаяФорма.Форма1.Форма(39)}: Поле объекта не обнаружено (ТекущаяКолонка)
   КодЕТСНГ = Элемент.ТекущаяСтрока[Элемент.ТекущаяКолонка.Данные];
14 Ofizer
 
12.11.13
12:21
(13) а на форме что находится? Табличная часть, ТаблицаЗначений? или что?
15 Swetlana521911
 
12.11.13
12:25
реквизит с типом РегистрСведенийНаборЗаписей.КодГНГ
16 Ofizer
 
12.11.13
12:39
(15) а тип элемента на форме какой - "ТабличноеПоле"? или что-то другое?
17 Swetlana521911
 
14.11.13
07:33
таблица значений
18 Swetlana521911
 
14.11.13
08:02
форма управляемая. как перебрать чтобы получить конкретное значение ячейки??