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, ибо накидывал на своей базе), чего не работает то? | |
| Интернет-форум Краснодарского края и Краснодара |