| 
    
            
         
         | 
    
    
  | 
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 
 | 
         
        сделал даже больше чем хотел. ВСЕМ СПАСИБО!!!!     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |