Имя: Пароль:
1C
1С v8
Расшифровка в СКД
0 bUbA
 
23.04.13
16:31
Есть вот такой код


Процедура СформироватьДвиженияПоДокументам(НачалоПериода,КонецПериода,ТекущийТМЦ,ТекущийСклад)
   Запрос = Новый Запрос;
   
   Запрос.Текст = "ВЫБРАТЬ
       |ТМЦНаСкладах_КоличествоОстаткиИОбороты.Склад,
       |ТМЦНаСкладах_КоличествоОстаткиИОбороты.ТМЦ,
       |ТМЦНаСкладах_КоличествоОстаткиИОбороты.КоличествоВЕдиницеХраненияНачальныйОстаток,
       |ТМЦНаСкладах_КоличествоОстаткиИОбороты.КоличествоВЕдиницеХраненияКонечныйОстаток
       |ИЗ
       |РегистрНакопления.ТМЦНаСкладах_Количество.ОстаткиИОбороты КАК ТМЦНаСкладах_КоличествоОстаткиИОбороты";
   Выборка = Запрос.Выполнить().Выгрузить();
   
КонецПроцедуры


он должен выводить таблицу, при нажатии любую строку в отчёте СКД, но вместо этого он ничего не делает. Как заставить его заработать?
1 Classic
 
23.04.13
16:32
Кому он должен?
2 cw014
 
23.04.13
16:33
(1) Наверное кому то и денег
3 Defender aka LINN
 
23.04.13
16:34
(0) Любопытная теория
4 bUbA
 
23.04.13
16:39
а если по-серьёзнее, в чём ошибка?
5 Бледно Золотистый
 
23.04.13
16:41
(4) Мне нужно вычислить ((654/6545) + 5)/2, но 2+2=4, что я делаю не так, в чем ошибка?
6 Defender aka LINN
 
23.04.13
16:41
(4) Мне в голову только генетика приходит
7 Classic
 
23.04.13
16:41
(4)
А там разве ошибка вываливается?
И какой отношение имеет код в (0) к СКД и расшифровке?
8 bUbA
 
23.04.13
16:43
там нету ошибки. эта процедура вызывается из другой, вот её код

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   Перем ВыполненноеДействие;
   
   СтандартнаяОбработка = Ложь;
   СКД                 = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
   ДоступныеДействия     = Новый Массив;
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
   Настройки             = ОбработкаРасшифровки.Расшифровать(Расшифровка, КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы[0].Поле);
   
   ТекущийТМЦ     = Неопределено;
   ТекущийСклад = Неопределено;
   Для Каждого ЭлементКоллекции Из Настройки.Отбор.Элементы Цикл
       ПравоеЗначение = ЭлементКоллекции.ПравоеЗначение;
       Если ТипЗнч(ПравоеЗначение) = Тип("СправочникСсылка.Номенклатура") Тогда
           ТекущийТМЦ = ПравоеЗначение;
       ИначеЕсли ТипЗнч(ПравоеЗначение) = Тип("СправочникСсылка.МестаХранения") Тогда
           ТекущийСклад = ПравоеЗначение;
       КонецЕсли;    
   КонецЦикла;    
   
   Если ТекущийТМЦ <> Неопределено И ТекущийСклад <> Неопределено Тогда
       СформироватьДвиженияПоДокументам(НачалоПериода,КонецПериода,ТекущийТМЦ,ТекущийСклад);
       КонецЕсли;    
КонецПроцедуры
9 alxxsssar
 
23.04.13
16:45
а выборка в процедуре - это что? просто таблица значений? может все работает только эта таблица не отображается нигде?
10 Classic
 
23.04.13
16:45
Ну, ты получил таблицу. А выводить ее кто будет?
11 alxxsssar
 
23.04.13
16:46
такие вещи вообще-то функциями делаются, а не процедурами
12 bUbA
 
23.04.13
16:47
эта таблица не отображается нигде, и ошибки не выдаются. вот а как теперь её вывести на экран?
13 DS
 
23.04.13
16:49
Как вариант, открываем СП в ветке ТаблицаЗначений и читаем...
14 alxxsssar
 
23.04.13
16:49
форму создавай с табличным полем и загружай туда свою таблицу - тогда ее увидишь
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший