![]() |
|
v7: Расшифровка в отчете | ☑ | ||
---|---|---|---|---|
0
anagk
09.10.12
✎
11:47
|
Не получаеться попасть в документ из отчета (по двойному клику). Многое пробую, но пока получаеться просто открыть первый документ, а вот именно нужный документ не получаеться...
Док = СоздатьОбъект("Документ.Перемещение"); Док.ВыбратьДокументы(НачДата,КонДата); Пока Док.ПолучитьДокумент()=1 Цикл Докум = Док.ТекущийДокумент(); КонецЦикла; //теперь остатки Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьРазделительУчета(Фирма); Если ПустоеЗначение(ВыбТМЦ) = 1 Тогда Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ,, 1); Иначе Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ, ВыбТМЦ, 2); КонецЕсли; Если фДни = 1 Тогда Ит.ВыполнитьЗапрос(НачДата,КонДата,Сч,,,1,"День","К"); Иначе Ит.ВыполнитьЗапрос(НачДата,КонДата,Сч,,,1,,"К"); КонецЕсли; Ит.ВыбратьСубконто(); Пока Ит.ПолучитьСубконто() = 1 Цикл ГП = Ит.Субконто(); ОстНач = Ит.СНД("К"); ОстКон = Ит.СКД("К"); КонецЦикла; ...... |
|||
1
Drac0
09.10.12
✎
11:52
|
А где выводится строка отчета и что стоит в расшифровке?
|
|||
2
Wobland
09.10.12
✎
11:54
|
(0) держи нас в курсе
|
|||
3
viktor_vv
09.10.12
✎
11:54
|
А в чеи тайный смысл сего кода ?
Док = СоздатьОбъект("Документ.Перемещение"); Док.ВыбратьДокументы(НачДата,КонДата); Пока Док.ПолучитьДокумент()=1 Цикл Докум = Док.ТекущийДокумент(); КонецЦикла; Я так подозреваю ято Докум и стоит в расшифровке ячейки ? |
|||
4
anagk
09.10.12
✎
11:55
|
строка в цикле (забыл дописать), а в расшифровке пробовал много сейчас Док. ТекущийДокумент()
|
|||
5
anagk
09.10.12
✎
11:56
|
да - Докум - это один из вариантов получить ссылку на документ
|
|||
6
Drac0
09.10.12
✎
11:57
|
(4)Где именно в цикле.
|
|||
7
anagk
09.10.12
✎
11:57
|
Пока Ит.ПолучитьСубконто() = 1 Цикл
ГП = Ит.Субконто(); ОстНач = Ит.СНД("К"); ОстКон = Ит.СКД("К"); Таб.ВывестиСекцию("Секция_5|Секция_1"); КонецЦикла; |
|||
8
viktor_vv
09.10.12
✎
11:58
|
(7) Ну а Докум тут каким боком ?
|
|||
9
Рэйв
09.10.12
✎
11:58
|
(7)и чему же у тебя равно Док.ТекущийДокумент() при выводе строки отчета?
|
|||
10
anagk
09.10.12
✎
12:01
|
может показать весь код выборки? (там чуток позамороченей будет). Но сейчас у меня вопрос только "Как из бухгалтерских итогов вытянуть Документ". Так как пробовал через Ит.Операция.ТекущийДокумент() - то тоже ничего.
Докум - это один из вариантов. Сейчас идет просто.. Док = СоздатьОбъект("Документ.Перемещение"); Док.ВыбратьДокументы(НачДата,КонДата); Пока Док.ПолучитьДокумент()=1 Цикл Док.ТекущийДокумент(); КонецЦикла; |
|||
11
viktor_vv
09.10.12
✎
12:03
|
(10) Ит.ВыполнитьЗапрос(НачДата,КонДата,Сч,,,1,"Операция","К");
Ит.ВыбратьПериоды(); Пока Ит.ПолучитьПериод() = 1 Цикл // Тут точно не помню обращение Докум = Ит.Операция.Документ ; КонецЦикла ; |
|||
12
viktor_vv
09.10.12
✎
12:03
|
Это можешь внутрь цикла по субконто вставить.
|
|||
13
Рэйв
09.10.12
✎
12:04
|
(10)Делаешь в запросе Периодичность = "Операция", а потом в цикле перебора субконто:
Отльку у ручных операций он пустой. Они сами себе документ, проверять надо Ит.ВыбратьПериоды(); Пока Ит.получитьПериод()=1 Цикл Док=Ит.Операция.Документ; КонецЦикла; |
|||
14
viktor_vv
09.10.12
✎
12:07
|
(12)+ Только не сам запрос, а только выборку.
|
|||
15
anagk
09.10.12
✎
12:16
|
Пробовал я и так, но при двойном клике вообще ничего не происходит. Вот весь код моей обработки
Перем Сч, Ит, т, Док; //******************************************* Процедура ЗаполнитьТ() т.НоваяСтрока(); т.ГП = Ит.Субконто(); Если фДни = 1 Тогда т.Дата = Ит.НачДата; КонецЕсли; сумД = Ит.КорДО("К"); сумК = Ит.КорКО("К"); Если сумД <> 0 Тогда //был приход Если Ит.КорСчет = СчетПоКоду("25") Тогда т.Вып = сумД; Иначе т.Перев = сумД; КонецЕсли; КонецЕсли; Если сумК <> 0 Тогда //расход Если Ит.КорСчет = СчетПоКоду("90") Тогда т.Реал = сумК; Иначе т.Проч = сумК; КонецЕсли; КонецЕсли; КонецПроцедуры // ЗаполнитьТ Процедура Сформировать() т = СоздатьОбъект("ТаблицаЗначений"); т.НоваяКолонка("ГП","Справочник.ТМЦ"); т.НоваяКолонка("ОстНач", "Число", 12, 3); т.НоваяКолонка("Вып", "Число", 12, 3); т.НоваяКолонка("Перев", "Число", 12, 3); т.НоваяКолонка("Реал", "Число", 12, 3); т.НоваяКолонка("Проч", "Число", 12, 3); т.НоваяКолонка("ОстКон", "Число", 12, 3); Если фДни = 1 Тогда т.НоваяКолонка("Дата","Дата"); КонецЕсли; Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьРазделительУчета(Фирма); Если ПустоеЗначение(ВыбТМЦ) = 1 Тогда Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ,, 1); Иначе Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ, ВыбТМЦ, 2); КонецЕсли; Если фДни = 1 Тогда Ит.ВыполнитьЗапрос(НачДата,КонДата,Сч,,,2,"День","К"); Иначе Ит.ВыполнитьЗапрос(НачДата,КонДата,Сч,,,2,,"К"); КонецЕсли; Ит.ВыбратьСубконто(); Пока Ит.ПолучитьСубконто() = 1 Цикл Если фДни = 1 Тогда Ит.ВыбратьПериоды(); Пока Ит.ПолучитьПериод() = 1 Цикл ИТ.ВыбратьКорсчета(); Пока Ит.ПолучитьКорСчет() = 1 Цикл ЗаполнитьТ(); КонецЦикла; КонецЦикла; Иначе ИТ.ВыбратьКорсчета(); Пока Ит.ПолучитьКорСчет() = 1 Цикл ЗаполнитьТ(); КонецЦикла; КонецЕсли; КонецЦикла; //теперь остатки Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьРазделительУчета(Фирма); Если ПустоеЗначение(ВыбТМЦ) = 1 Тогда Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ,, 1); Иначе Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ, ВыбТМЦ, 2); КонецЕсли; Если фДни = 1 Тогда Ит.ВыполнитьЗапрос(НачДата,КонДата,Сч,,,1,"День","К"); Иначе Ит.ВыполнитьЗапрос(НачДата,КонДата,Сч,,,1,,"К"); КонецЕсли; Ит.ВыбратьСубконто(); Пока Ит.ПолучитьСубконто() = 1 Цикл т.НоваяСтрока(); т.ГП = Ит.Субконто(); т.ОстНач = Ит.СНД("К"); т.ОстКон = Ит.СКД("К"); КонецЦикла; Ит = 0; Если фДни = 1 Тогда тд = СоздатьОбъект("ТаблицаЗначений"); т.Выгрузить(тд); тд.Свернуть("1,8","2,3,4,5,6,7"); тд.Сортировать("ГП,Дата"); КонецЕсли; т.Свернуть("1","2,3,4,5,6,7"); т.Сортировать("ГП"); таб = СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("Секция_2|Секция_1"); т.ВыбратьСтроки(); Пока т.ПолучитьСтроку() = 1 Цикл Таб.ВывестиСекцию("Секция_3|Секция_1"); Если фДни = 1 Тогда тд.ВыбратьСтроки(); Пока тд.ПолучитьСтроку() = 1 Цикл Если (т.ГП <> тд.ГП) или (тд.Дата = дата(0)) Тогда Продолжить; КонецЕсли; //Таб.ВывестиСекцию("Секция_5|Секция_1"); КонецЦикла; КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("Секция_4|Секция_1"); Таб.ПараметрыСтраницы(1,,,10,0,10,0,0,0,1,,); Таб.Защита(Константа.ФлагЗащитыТаблиц); Таб.ТолькоПросмотр(1); Таб.Опции(0,0,5,1); Таб.Показать("ПЕЧАТЬ:ГП"); КонецПроцедуры // ====================================== Процедура ИзмФирма() Если ПустоеЗначение(Фирма) = 1 Тогда Возврат; КонецЕсли; КонецПроцедуры //=========================== Процедура ПриОткрытии() Фирма = Константа.БазФирма; Если РабочаяДата() = НачМесяца(РабочаяДата()) Тогда КонДата = НачМесяца(РабочаяДата()) - 1; НачДата = НачМесяца(КонДата); Иначе НачДата = НачМесяца(РабочаяДата()); КонДата = РабочаяДата() - 1; КонецЕсли; Сч = СчетПоКоду("26"); КонецПроцедуры |
|||
16
anagk
09.10.12
✎
12:20
|
когда поставили чекер (по дням) видно колличество, что было перемещено. и здесь нужно зайти в документ который вызвал это ..
|
|||
17
Salimbek
09.10.12
✎
12:22
|
смотри в сторону: ОбработкаЯчейкиТаблицы
|
|||
18
Drac0
09.10.12
✎
12:46
|
(16) За день может быть несколько документов, какой из них выбирать при обращении? Поэтому нужен период Операция.
|
|||
19
anagk
09.10.12
✎
12:49
|
ну я точно знаю, что он один этот Документ.
|
|||
20
anagk
09.10.12
✎
12:50
|
но почему-то с периодом Операция - действий НИКАКИХ при клике
|
|||
21
anagk
09.10.12
✎
15:11
|
еще не множко... уж помогите... я уже в отчет впихнул документ, осталось его расскрыть... (Расшифровка)
|
|||
22
anagk
09.10.12
✎
15:37
|
УРА!!!!!!!!!!! СПАСИБО!!!
|
|||
23
anagk
09.10.12
✎
15:38
|
сделал даже больше чем хотел. ВСЕМ СПАСИБО!!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |