![]() |
![]() |
![]() |
|
v7: Помогите разобраться с кодом | ☑ | ||
---|---|---|---|---|
0
eltex
14.04.13
✎
23:57
|
Процедура Сформировать()
тз = создатьОбъект("ТаблицаЗначений"); тз.НоваяКолонка("НомерДок"); тз.НоваяКолонка("ДатаДок"); тз.НоваяКолонка("Контрагент"); тз.НоваяКолонка("Сумма"); тз.НоваяКолонка("Итог"); тз.НоваяКолонка("НеОпл"); тз.НоваяКолонка("Админ"); тз.НоваяКолонка("Сотрудник"); тз.НоваяКолонка("Цех"); тз.НоваяКолонка("Услуга"); Если Долги = 1 Тогда Запрос = создатьОбъект("Запрос"); ТекстЗапроса = " |Период С НачДата По КонДата; |ОбрабатыватьДокументы Проведенные; |Док = Документ.ЧекККМ.ТекущийДокумент; |Контрагент = Документ.ЧекККМ.Контрагент; |НомерДок = Документ.ЧекККМ.НомерДок; |ДатаДок = Документ.ЧекККМ.ДатаДок; |Сумма = Документ.ЧекККМ.Сумма; |НеОпл = Документ.ЧекККМ.НеОплачен; |Группировка НомерДок; |Условие (Контрагент в ВыбКонтрагенты); |"; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка(1)=1 Цикл Док = Запрос.Док; тз.НоваяСтрока(); тз.ДатаДок = Запрос.ДатаДок; тз.НомерДок = Запрос.НомерДок; тз.Контрагент = Запрос.Контрагент; тз.НеОпл = Запрос.НеОпл; тз.Сумма = Запрос.Док.Итог("Сумма"); КонецЦикла; Таб = создатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Долги"); Таб.ВывестиСекцию("Шапка"); тз.ВыбратьСтроки(); НомПП = 0; Пока тз.ПолучитьСтроку()=1 Цикл НомПП = НомПП + 1; Если ТЗ.НеОпл = 1 Тогда Таб.ВывестиСекцию("Строка"); Иначе Продолжить; КонецЕсли КонецЦикла; Таб.Опции(0); Таб.Показать(); Иначе //Выводим отчет по доходам ЗапросДоходы = создатьОбъект("Запрос"); ТекстЗапроса = " |Период С НачДата По КонДата; |ОбрабатыватьДокументы Проведенные; |Док = Документ.ЧекККМ.ТекущийДокумент; |Контрагент = Документ.ЧекККМ.Контрагент; |НомерДок = Документ.ЧекККМ.НомерДок; |ДатаДок = Документ.ЧекККМ.ДатаДок; |Сумма = Документ.ЧекККМ.Сумма; |НеОпл = Документ.ЧекККМ.НеОплачен; |Услуга = Документ.ЧекККМ.Номенклатура; |Цех = Документ.ЧекККМ.Цех; |Сотрудник = Документ.ЧекККМ.Исполнитель; |Админ = Документ.ЧекККМ.Администратор; |Группировка НомерДок; //|Группировка Услуга; //|Группировка Сумма; //|Группировка Контрагент; |Условие (Контрагент в ВыбКонтрагенты); |Условие (Услуга в ВыбУслуга); |Условие (Цех в ВыбЦех); |Условие (Сотрудник в ВыбСотрудник); |Условие (Админ в ВыбАдмин); |"; Если ЗапросДоходы.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; Пока ЗапросДоходы.Группировка(1)=1 Цикл Док = ЗапросДоходы.Док; тз.НоваяСтрока(); тз.ДатаДок = ЗапросДоходы.ДатаДок; тз.НомерДок = ЗапросДоходы.НомерДок; тз.Контрагент = ЗапросДоходы.Контрагент; тз.НеОпл = ЗапросДоходы.НеОпл; тз.Сумма = ЗапросДоходы.Сумма; тз.Админ = ЗапросДоходы.Админ; тз.Цех = ЗапросДоходы.Цех; тз.Сотрудник = ЗапросДоходы.Сотрудник; тз.Услуга = ЗапросДоходы.Услуга; Если тз.НеОпл = 0 Тогда Итог = тз.Итог("Сумма"); Иначе Продолжить; КонецЕсли; КонецЦикла; Таб1 = СоздатьОбъект("Таблица"); Таб1.ИсходнаяТаблица("Доходы"); Таб1.ВывестиСекцию("Шапка"); тз.ВыбратьСтроки(); НомПП = 0; Пока тз.ПолучитьСтроку()=1 Цикл НомПП = НомПП + 1; Если тз.НеОпл = 0 Тогда Таб1.ВывестиСекцию("Строка"); Иначе Продолжить; КонецЕсли КонецЦикла; Таб1.ВывестиСекцию("Итог"); Таб1.Опции(0); Таб1.Показать(); КонецЕсли КонецПроцедуры Процедура ПриОткрытии() Долги=1 КонецПроцедуры; Нужно отобрать документы последующим критериям: контрагент, цех, исполнитель, администратор и номенклатура. Так-же необходимо выбрать все строки из табличной части документов за определенный период и по фильтру. Почему-то в таблицу выводится только по одной строке из каждого документа. Помогите пожалуйста, 4 день ковыряюсь... |
|||
1
Попытка1С
15.04.13
✎
00:01
|
"Так-же необходимо выбрать все строки из табличной части документов"
И где это в запросе? |
|||
2
Попытка1С
15.04.13
✎
00:02
|
Кури
Группировка СтрокаДокумента; |
|||
3
DES
15.04.13
✎
00:02
|
Группировка по номеру дока? Не?
|
|||
4
eltex
15.04.13
✎
00:14
|
Группировка СтрокаДокумента; выбирает строки только из одного документа...
|
|||
5
Попытка1С
15.04.13
✎
00:19
|
Группировка Док;
Группировка СтрокаДокумента; |
|||
6
eltex
15.04.13
✎
00:19
|
(2) выбирает строки только из одного документа..
|
|||
7
Попытка1С
15.04.13
✎
00:22
|
Ты не правильно обходишь результат запроса значит.
|
|||
8
eltex
15.04.13
✎
00:30
|
(5) Теперь выбирает все документы но по строке из каждого...
|
|||
9
Sereja
15.04.13
✎
02:12
|
(8) Скачай что-то типа http://infostart.ru/public/20068/
Потренируйся на нем писать запрос. И когда там получится, вставляй в свой отчет. Обработку могу на почту выслать |
|||
10
eltex
15.04.13
✎
02:37
|
(9) Скинь пож.
|
|||
11
big
15.04.13
✎
05:43
|
Группировка Док;
Группировка Номенклатура; всё, больше них... не надо. Группировка по НомерДок - феерично ))) (9) Давай лучше сразу поставим SQL и там будем запросы Онализировать ))) |
|||
12
eltex
18.04.13
✎
22:03
|
Всем спасибо! все получлось!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |