Имя: Пароль:
1C
1С v8
как заполнить колонку при выборе номенклатуры
0 antoha_
mashencev
 
18.03.14
12:07
Здрасте всем. подскажите как заполнить колонку ЗАКАЗАНО(данные берутся из регНакопл) при выборе номенклатуры(Это внешняя обработка конфа УПП13)
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
    кЗаказано= ЭлементыФормы.ТабличнаяЧасть.Колонки.Заказано;
        Запрос= новый Запрос;
        Запрос.Текст= "ВЫБРАТЬ
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоПриход
                      |ИЗ
                      |    РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты" ;
    Результат=Запрос.Выполнить().Выгрузить();
    кЗаказано=Результат;
                  
КонецПроцедуры
1 Apokalipsec
 
18.03.14
12:09
Работать с текущими данными и в запрос условие по номенклатуре.
2 antoha_
mashencev
 
18.03.14
12:13
(1)а зачем условие в запрос нужно?
3 VikingKosmo
 
18.03.14
12:14
Я бы еще добавил то, что присваивать значению колонки результат запроса, это как то не гуманно...
4 antoha_
mashencev
 
18.03.14
12:16
(3) а как правильнее тогда сделать? подскажи
5 bolobol
 
18.03.14
12:23
Результат запроса обходится функцией .Следующий()
6 antoha_
mashencev
 
18.03.14
12:47
(5) Ну и все равно не ничего
7 Enders
 
18.03.14
12:51
Какой тип у "кЗаказано" и какой тип у "Запрос.Выполнить().Выгрузить()" ?)
8 antoha_
mashencev
 
18.03.14
12:55
(7) незнаю а как узнать
9 bolobol
 
18.03.14
13:15
(6) Что "ничего" да к тому же "всё равно"? Или это не мне было написано??
10 Базис
 
naïve
18.03.14
13:27
Может, на курсы?
11 antoha_
mashencev
 
18.03.14
13:29
(9) это значило что по прежнему не заполняется колонка"ЗАКАЗАНО"
12 bolobol
 
18.03.14
13:32
(11) Код в студию! И результат запроса в студию.
13 antoha_
mashencev
 
18.03.14
13:37
кЗаказано= ЭлементыФормы.ТабличнаяЧасть.Колонки.Заказано;
        Запрос= новый Запрос;
        Запрос.Текст= "ВЫБРАТЬ
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоПриход
                      |ИЗ
                      |    РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты" ;
     Выборка=Запрос.Выполнить().Выбрать();
     Пока Выборка.Следующий() Цикл      
          
     КонецЦикла;
14 vicof
 
18.03.14
13:47
(0) Эпично. Остатки и обороты, чтобы получить только приход, еще и без параметров.
15 antoha_
mashencev
 
18.03.14
13:50
(14) да мне и не нужны параметры.. подскажите как заполнить колонку
16 Enders
 
18.03.14
13:52
(15) То есть, тебе пофиг по какому товару был приход и за какую дату?
У тебя колонка какого типа? что ты хочешь в ней заполнить?
17 bolobol
 
18.03.14
13:52
Так а где заполнение колонки-то??? )))
Цикл-то пустой!

//Валяться! Валяться не подымацца!
18 bolobol
 
18.03.14
13:53
ТабличнаяЧасть.Заказано = Выбока.Заказано; - не забыл? или это секретный код, который был кропнут из листинга?
19 Любопытная
 
18.03.14
13:54
(13) ты зачем колонку отдельно от тч получил? Да еще у элемента формы...
Каша в голове чудеснейшая
20 Enders
 
18.03.14
14:03
(19) Там много "зачем" и "почему" =)
А ещё "как, ну как так можно?!"=)
21 antoha_
mashencev
 
18.03.14
14:13
(18) запутался
22 antoha_
mashencev
 
20.03.14
11:24
Товарищи ну подскажите плизз укажите на ошибку. ну никак не хочт работать моя процедура
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
     Запрос=Новый Запрос;
     Запрос.Текст= "ВЫБРАТЬ
                      |ТабличнаяЧасть.Номенклатура
                      |ПОМЕСТИТЬ ТабличнаяЧасть
                      |ИЗ &ТабличнаяЧасть КАК ТабличнаяЧасть
                      |;
                      |ВЫБРАТЬ
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.Номенклатура КАК Номенклатура,
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоПриход КАК Заказано
                      |ИЗ
                      |    РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты
                      |ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабличнаяЧасть
                      |ПО ТоварыКПолучениюНаСкладыОстаткиИОбороты.Номенклатура = ТабличнаяЧасть.Номенклатура" ;


    
            Запрос.УстановитьПараметр("ТабличнаяЧасть",ТабличнаяЧасть);
        Результат=Запрос.Выполнить();
        Выборка=Результат.Выбрать();
        
        Пока Выборка.Следующий() Цикл
      
       ИскомаяСтрока = ТабличнаяЧасть.Найти(Выборка,"");
       Если ИскомаяСтрока <> Неопределено Тогда
          ИскомаяСтрока.Заказано = Выборка.Заказано;

       КонецЕсли;
         КонецЦикла;
        
        КонецПроцедуры
23 Kurbash
 
20.03.14
11:33
с=элементыФОрмы.ТабличнаяЧасть.ТекущаяСтрока();
с.заказано=Выборка.Заказано
24 Kurbash
 
20.03.14
11:33
не канает?
25 antoha_
mashencev
 
20.03.14
11:35
(24) неа((
26 Kurbash
 
20.03.14
11:37
выборка выводит результат?
27 antoha_
mashencev
 
20.03.14
11:39
(26) нет.
28 VikingKosmo
 
20.03.14
11:41
(27) может стоит для начала разобраться, почему запрос возвращает пустую выборку?
29 Kurbash
 
20.03.14
11:42
вот поэтому и не присваивается ничего, потому что результат пустой

Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
   с=ЭлементыФормы.ТабличнаяЧасть.текущаяСтрока;
        Запрос= новый Запрос;
        Запрос.Текст= "ВЫБРАТЬ
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоПриход как прих
                      |ИЗ
                      |    РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты где ТоварыКПолучениюНаСкладыОстаткиИОбороты.Номенклатура=&Номен" ;
запрос.установитьПараметр("Номен",с.Номенклатура);    
Результат=Запрос.Выполнить().Выбрать();
Пока результат.следующий() цикл
с.Заказано=результат.прих;
конеццикла;
30 Kurbash
 
20.03.14
11:43
допиливай
31 Kurbash
 
20.03.14
11:43
параметр можешь в условие виртуальной таблицы засунуть
32 Timon1405
 
20.03.14
11:46
Вызвать специалиста уже было?
33 antoha_
mashencev
 
20.03.14
11:55
(29) Уррааа заработало!!!!!
Спасибо Дружище за помощь