Имя: Пароль:
1C
1C 7.7
v7: Прошу вашей помощи очень надо
0 walkman315
 
19.10.12
16:37
Всем привет))
только не давно начал изучать 1с, есть некий уже отчет в который нужно добавить Таблицу значений(уже добавил), и прописать так, чтобы при нажатии на ТМЦ указывая период, все выводилось в эту таблицу(тмц, еденица измерения, количество).Очень прошу вашей помощи
Процедура ОбновитьТБ()
     х=2;
КонецПроцедуры

//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
   Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с дата1 по дата2;
   |Куда = Документ.ПеремещениеТМЦ.Подразделение1;
   |ТМЦ = Документ.ПеремещениеТМЦ.ТМЦ;
   |Кво = Документ.ПеремещениеТМЦ.Кво;
   |ТекущийДокумент = Документ.ПеремещениеТМЦ.ТекущийДокумент;
   |Функция КвоСумма = Сумма(Кво);
   |Группировка Куда;
   |Группировка ТМЦ;
   |Группировка ТекущийДокумент;";
   Если фТмц.Выбран()=1 тогда
       Если фТмц.ЭтоГруппа()=1 тогда
           ТекстЗапроса =ТекстЗапроса+"Условие(ТМЦ в фТМЦ);";    
       иначе
           ТекстЗапроса =ТекстЗапроса+"Условие(ТМЦ=фТМЦ);";
       Конецесли;    
   Конецесли;
   Если фСклад.Выбран()=1 тогда
       Если фТмц.ЭтоГруппа()=1 тогда
           ТекстЗапроса =ТекстЗапроса+"Условие(Куда в фСклад);";
       иначе
           ТекстЗапроса =ТекстЗапроса+"Условие(Куда = фСклад);";
       конецесли;
   Конецесли;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;                              
   нпп=0;
   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Таблица");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("шапка");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл
       // Заполнение полей Куда
       Таб.ВывестиСекцию("грп");
       Пока Запрос.Группировка(2) = 1 Цикл
           Пока Запрос.Группировка(3) = 1 Цикл
               нпп=нпп+1;
               Таб.ВывестиСекцию("стр");
           КонецЦикла;
       КонецЦикла;
   КонецЦикла;
   // Заполнение полей "Итого"
   //Таб.ВывестиСекцию("Итого");
   // Вывод заполненной формы
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
КонецПроцедуры

//========================================
Процедура ПриОткрытии()
   Дата2=ТекущаяДата();
   Дата1=НачМесяца(Дата2);
   ОбновитьТБ();
КонецПроцедуры
//========================================
Процедура ИзмСклад()
     ОбновитьТБ();
КонецПроцедуры //ИзмСклад()    

//========================================
Процедура Выгрузить()
     ОбновитьТБ();
КонецПроцедуры //Выгрузить()    

//========================================
Процедура ИзмТМЦ()
   ОбновитьТБ();
   
КонецПроцедуры
1 mikecool
 
19.10.12
16:38
2 ГдеСобака Зарыта
 
19.10.12
16:43
Запрос.Выгрузить(ТвояТЗ,0,0);
3 walkman315
 
19.10.12
16:45
а куда это вписывать, подскажи
4 KRV
 
19.10.12
16:46
в туда
5 Wobland
 
19.10.12
16:46
(3) раз недавно начал, подсказываю. берёшь СП, читаешь про Выгрузить(), думаешь, что ГдеСобакаЗарыта имел в виду, применяешь
6 Wobland
 
19.10.12
16:47
так, для справки: недавно начал с 1С или с программингом вообще? откуда молодые семёрочники прилетают?
7 walkman315
 
19.10.12
16:49
блин не ужеле так тяжело сказать
ГдеСобакаЗарыта, большое тебе спасибо, буду пробывать.....я думала тут все такие люди  понимающие
8 Надсмотрщик
 
19.10.12
16:50
(7) Еще и без фото!
9 Wobland
 
19.10.12
16:50
(7) тут гады и сволочи кругом. некоторые даже тыкают к каждую орфографическую ошибку. потыкать?
10 walkman315
 
19.10.12
16:51
с программингом знакома давненько, 1С только начала изучать, я по книге и так работаю, просто в ней этого нету
11 walkman315
 
19.10.12
16:55
12 walkman315
 
19.10.12
16:55
13 walkman315
 
19.10.12
16:55
14 walkman315
 
19.10.12
16:56
15 mikecool
 
19.10.12
16:56
(14) это не твое фото
16 Wobland
 
19.10.12
16:56
что это? кидала б уже обработку целиком, раз сама не в силах подумать...
17 GLazNik
 
19.10.12
16:57
охохо

Выгрузить(<?>,,)
Синтаксис:
Выгрузить(<ТаблЗнач>,<Флаг>,<Итоги>)
Назначение:
Выгружает результаты запроса в таблицу значений. Возвращает число: 1 - если выгрузка произошла успешно, иначе - 0.
Параметры:
<ТаблЗнач> - Таблица значений, куда выгружаются результаты запроса.
<Флаг> - необязательный параметр. Число или строка:
0 - значения групп и функций (по умолчанию);
1 - значения групп и функций, дополнительных переменных;
2 - значения упорядочиваний групп и функций;
3 - значения упорядочиваний групп и функций, дополнительных переменных;
Строка - '' Товар(1), Товар(2), Товар, Склад, Приход, Расход'', где Товар(1) - значение первого упорядочивания группировки ''Товар''.
<Итоги> - необязательный параметр. Число:
0 - итоги по группировкам не выводить;
1 - итоги по группировкам выводить сверху (по умолчанию);
2 - итоги по группировкам выводить снизу;
3 - итоги по группировкам выводить сверху и снизу.
18 ГдеСобака Зарыта
 
19.10.12
16:57
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
   Возврат;
КонецЕсли;    
Запрос.Выгрузить(ТабЗн,0,0); //Можно поробывать вставить
19 walkman315
 
19.10.12
17:07
Все работает
 ГдеСобакаЗарыта огромное тебе спасибо
20 BlackSeaCat
 
19.10.12
17:41
А по-моему, ошибка вот в этом:

Процедура ОбновитьТБ()
     х=2;
КонецПроцедуры

Должно быть так:

Процедура ОбновитьТБ()
     х=22;
     х.ЕдиницаИзмерения.Код="004";
КонецПроцедуры
21 Wobland
 
19.10.12
17:48
(20) найди единицу по коду сначала ;)
22 Смотрящий от 1С
 
19.10.12
18:42
В качестве подразделения склад, а в качестве склада подразделение. Чтобы жизнь медом не казалась ))
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн