К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Добавить колонки в таблице значений?

Гость
0 - 20.03.2012 - 04:45
Господа, вопрос такой. Есть у меня документ - ПереработкаМатериалов. Имеется поле реквизит шапки - выпуск. Реквизит табличной части - материал, т.е. что идет в состав готовой продукции, естественно с количеством. Нужно создать отчет где по строкам идем Выпуск, а по колонкам его затраты? Затупил не могу сообразить. Хелп?!


Гость
1 - 20.03.2012 - 04:46
//*******************************************
Процедура Сформировать()

Таблица = СоздатьОбъект("Таблица");
Таблица.ИсходнаяТаблица("Таблица");
Таблица.ВывестиСекцию("Шапка");

ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Выпуск",,,,,);
ТЗ.НоваяКолонка("Материал",,,,,);
ТЗ.НоваяКолонка("КоличествоВыпуск","Число",,,,);
ТЗ.НоваяКолонка("Количество","Число",,,,);


Док = СоздатьОбъект("Документ.ПереработкаМатериалов");
Док.ВыбратьДокументы(НачДата,КонДата);

Пока Док.ПолучитьДокумент() = 1 Цикл
ТЗ.НоваяСтрока();
ТЗ.Выпуск = Док.Выпуск;
ТЗ.КоличествоВыпуск = Док.ИсхКоличество;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() = 1 Цикл
ТЗ.Материал = Док.Материал;
ТЗ.Количество = Док.Количество;
КонецЦикла;
КонецЦикла;

ТЗ.Свернуть("Выпуск,Материал","КоличествоВыпуск,Ко личество");
Таблица.ВывестиСекцию("Шапка1|Заголовок");

ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Таблица.ВывестиСекцию("Строка|Заголовок");
Таблица.ПрисоединитьСекцию("Строка|КолонкаМат");
КонецЦикла;


Таблица.ПараметрыСтраницы();
Таблица.Показать("Производственный отчет");

КонецПроцедуры
Гость
2 - 20.03.2012 - 06:29
Обнаружил еще одну проблемку. В документах материалы добавляют по разному. Как их потом сворачивать?
Гость
3 - 20.03.2012 - 06:33
Надо сделать таким образом чтобы при заполнении таблицы значений материалы как сортировались, по коду наверное?!
4 - 20.03.2012 - 06:37
Не изобретай велосипед.
воспользуйся готовыми инструментами.
http://infostart.ru/public/14794/
5 - 20.03.2012 - 06:38
ну и сортировка - как удобно!
http://infostart.ru/public/20280/
6 - 20.03.2012 - 06:40
ТЗ.НоваяСтрока();
ТЗ.Выпуск = Док.Выпуск;
ТЗ.КоличествоВыпуск = Док.ИсхКоличество;
- перенеси внутрь цикла по строкам документа...
Гость
7 - 20.03.2012 - 06:44
Спасибо, посмотрю
Гость
8 - 20.03.2012 - 06:57
Неее, такое не подходит
Гость
9 - 20.03.2012 - 06:59
Может все таки поможет кто? Хотелось бы доделать начатое.
Гость
10 - 20.03.2012 - 07:02
В итоге должно получится как то так
http://www.imagepost.ru/?v=img_0163_4.jpg
Гость
11 - 20.03.2012 - 07:06
10-PaVlovich > Ну не можешь с выборкой разобраться,
воспользуйся конструктором запросов (делов на 5 минут) -
получишь уже готовый отчет в примитивной форме.
...
Группировка Выпуск
Группировка Материал все вошедшие в запрос
...
Гость
12 - 20.03.2012 - 07:10
12-Duke1C > Ни разу такого не делал. Просвети?!
Гость
13 - 20.03.2012 - 07:11
Ээээ, у меня v77
14 - 20.03.2012 - 07:14
Чегото я не понял, что должно получиться?
Так?
Мат1 Мат2 Мат3 МатN
Выпуск1 100 10 30 50
Выпуск2 200 130 50 10
Гость
15 - 20.03.2012 - 07:29
13-PaVlovich >Что просветить? Как пользоваться конструктором запросов?
Ты вообще запросами (про прямые молчу) пользовался когда-нибудь?
14-PaVlovich >Это я по коду в (2) еще понял
Гость
16 - 20.03.2012 - 07:46
Ну народ пошел... (чегой-то я сегодня добрый). Дарю
Делаешь такую табличку:


Далее...

Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "Период с НачДата по КонДата;
|Договор = Документ.ПереработкаМатериалов.Выпуск;
|Количество = Документ.ПереработкаМатериалов.Количество;
|КоличествоВыпуск = Документ.ПереработкаМатериалов.ИсхКоличество
|Товар = Документ.ПереработкаМатериалов.Материал;
|Функция КоличествоСумма = Сумма(Количество);
|Функция КоличествоВыпускСумма = Сумма(КоличествоВыпуск);
|Группировка Выпуск без групп;
|Группировка Материал без групп все ВошедшиеВЗапрос;";

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Секц="Шап";Ном=0;
Пока Запрос.Группировка(1) = 1 Цикл
Ном=Ном+1;
ПечПродукция = Запрос.Выпуск;
ПечКолПрод = Запрос.КоличествоВыпускСумма;
ПечМатериал = Запрос.Материал;
Таб.ВывестиСекцию("Стр"+Секц+"|1");
Пока Запрос.Группировка(2) = 1 Цикл
ПечКол = Запрос.КоличествоСумма;
ПечКолЕд = ?(ПечКол=0,0,ПечКолПрод/ПечКол);
Таб.ПрисоединитьСекцию("Стр"+Секц+"|2");
КонецЦикла;
Секц="";
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры

Пробуешь... Если и это не поможет, то.......
17 - 20.03.2012 - 07:47
пойду спать...
Гость
18 - 20.03.2012 - 07:47
Чет картинка не вставилась
Гость
19 - 20.03.2012 - 07:48
Да что за... Короче вот ссылка:
http://www.imagepost.ru/?v=2012-03-20_084305.jpg
Гость
20 - 20.03.2012 - 08:00
Млин, в тексте запроса не всё поменял:
вместо Договор = Выпуск
вместо Товар = Материал
21 - 20.03.2012 - 08:01
Гость
22 - 20.03.2012 - 08:14
22-Чучундер >Не спиться?
Гость
23 - 20.03.2012 - 08:18
фи, какой безграмотный одноЭсник

правильно пишется - НЕ СПИТСЯ?
24 - 20.03.2012 - 08:23
Где автор то? И где ответ на 15?
Гость
25 - 20.03.2012 - 08:35
24-Helen 1986 >Я в курсе, что только Вы у нас идеальны, мадам.
Гость
26 - 20.03.2012 - 08:36
25-который не честный >Ответ на (15) в (11)
Гость
27 - 20.03.2012 - 08:40
(26) просто я грамотней тебя
Гость
28 - 20.03.2012 - 08:48
(24) От контекста зависит, кому-то хочется спать, а кому-то выпить...
Гость
29 - 20.03.2012 - 08:59
29-Хоменко Валерий >Во, сразу видно - наш человек :)
Гость
30 - 20.03.2012 - 09:21
Ребята, всем спасибо за ответы. Буду пробовать. Отвечу позже.
Гость
31 - 20.03.2012 - 09:22
31-PaVlovich >17+20+21 = все готово должно быть уже
Гость
32 - 20.03.2012 - 09:46
Неее, не пашет. Не правильно. Создаю два документа. Выпуск берет с первого документа (Выпуск), а второй просто суммирует (КоличествоВыпуск), не видно ПечМатериал.
Гость
33 - 20.03.2012 - 09:46
Простите мне надо было отойти.
Гость
34 - 20.03.2012 - 10:05
32-Duke1C > Доведем дело до конца?!
Гость
35 - 20.03.2012 - 10:13
32-Duke1C > Может тебе базу отправить чтоб наглядней было?
Гость
36 - 20.03.2012 - 10:34
36-PaVlovich > а чё только базу? денежку-то не забудь присовокупить
...
"Вы, чего, и конфеты за меня есть будете?" © Вовка в тридевятом царстве
Гость
37 - 20.03.2012 - 10:43
37-roma n > Ты по моему тут вообще ничего не сделал. Судить не тебе. Нет у меня подобного опыта. Что играть в испорченный телефон, коль начал - думаю до ума довести можно.
Гость
38 - 20.03.2012 - 10:47
35-PaVlovich >Я итак уже все разжевал, табличку даже не поленился нарисовать (ссылку из 20 смотрел?).
Или автор ни разу не программист?
Гость
39 - 20.03.2012 - 10:49
Код то в (17) готовый (с учетом правок в 21, ибо накидывал на своей базе), чего не работает то?


К списку вопросов






Copyright ©, Все права защищены