| 
    
        
     
     | 
    
  | 
v7: проблема с выбором субконто | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Истари    
     21.04.12 
            ✎
    15:42 
 | 
         
        собственно проблема у счета есть 2 субконто Виды затрат и филиалы. когда делаю запрос по итогам, выбирается только одно субконто. как только пытаюсь выбрать второе субконто обработка падает в бесконечный цикл и в отладчике показывает
  
        Ит.Субконто(1) = пустота Ит.Субконто(2) = пустота собственно код Ит=СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.ВидыЗатрат); Ит.ИспользоватьСубконто(ВидыСубконто.Филиалы); Ит.ВключатьСубСчета(-1); Ит.ВыполнитьЗапрос(НачМесяца(ДатаДок),КонМесяца(ДатаДок),"93"); Ит.ВыбратьСубконто(ВидыСубконто.ВидыЗатрат); Пока Ит.ПолучитьСубконто(ВидыСубконто.ВидыЗатрат) = 1 Цикл Ит.ВыбратьСубконто(ВидыСубконто.Филиалы); Пока Ит.ВыбратьСубконто(ВидыСубконто.Филиалы) = 1 Цикл СуммаПлюс=0; СуммаПлюс2=0; СчетВр=Ит.Счет; Сумма=0; Кво=0; СуммаВал=0; Сумма=Ит.ДО(1)-Ит.КО(1); Табл2.НоваяСтрока(); Табл2.СчетК=Ит.Счет; Табл2.СубкД1=Ит.Субконто(ВидыСубконто.Филиалы); Табл2.СубкД2=0; Табл2.СубкД3=0; Табл2.СубкК1=Ит.Субконто(ВидыСубконто.ВидыЗатрат); Табл2.СубкК2=Ит.Субконто(ВидыСубконто.Филиалы); Табл2.СубкК3=0; Табл2.Сумма=Сумма; Табл2.Кво=Кво; Табл2.Валюта=0; Табл2.СуммаВал=СуммаВал; ЧислоКода=Сред(СчетВр.Код,2,1); Если (Число(ЧислоКода)>=0) и (Число(ЧислоКода)<5) Тогда Табл2.СчетД=СчетПоКоду("79.1"); ИначеЕсли (Число(ЧислоКода)>=5) и (Число(ЧислоКода)<7) Тогда Табл2.СчетД=СчетПоКоду("79.2"); ИначеЕсли (Число(ЧислоКода)>=7) Тогда Табл2.СчетД=СчетПоКоду("79.3"); КонецЕсли; КонецЦикла; КонецЦикла;  | 
|||
| 
    1
    
        AlexWolf    
     21.04.12 
            ✎
    15:52 
 | 
         
        ВыбратьСубконто часто применяешь     
         | 
|||
| 
    2
    
        AlexWolf    
     21.04.12 
            ✎
    15:59 
 | 
         
        (1) хотя нет, это я протупил...
  
        тут думаю реиндекс и пересчет бухитогов.  | 
|||
| 
    3
    
        Истари    
     21.04.12 
            ✎
    16:02 
 | 
         
        сейчас попробуем...с проблемой такой не сталкивался...при чем на одних счетах работает корректно а на других вот так падает     
         | 
|||
| 
    4
    
        Истари    
     21.04.12 
            ✎
    16:07 
 | 
         
        (2) нет, все равно падает в бесконечный цикл     
         | 
|||
| 
    5
    
        Истари    
     21.04.12 
            ✎
    16:25 
 | 
         
        собственно падает когда выбираю именно субконто "Филиалы"...
  
        не пойму в чем дело  | 
|||
| 
    6
    
        bolder    
     21.04.12 
            ✎
    16:26 
 | 
         
        (1)(2) Все правильно пишешь, нельзя в цикле так писать.     
         | 
|||
| 
    7
    
        bolder    
     21.04.12 
            ✎
    16:27 
 | 
         
        (6)+ Втрой цикл переписать нужно.     
         | 
|||
| 
    8
    
        Истари    
     21.04.12 
            ✎
    16:27 
 | 
         
        (6)конструкция с одним субконто тоже валится в цикл
  
        Ит=СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.ВидыЗатрат); Ит.ИспользоватьСубконто(ВидыСубконто.Филиалы); Ит.ВыполнитьЗапрос(НачМесяца(ДатаДок),КонМесяца(ДатаДок),"93"); Ит.ВыбратьСубконто(ВидыСубконто.Филиалы); Пока Ит.ВыбратьСубконто(ВидыСубконто.Филиалы) = 1 Цикл  | 
|||
| 
    9
    
        bolder    
     21.04.12 
            ✎
    16:29 
 | 
         
        (8) неправильное использование ИспользоватьСубконто детектед.     
         | 
|||
| 
    10
    
        Истари    
     21.04.12 
            ✎
    16:30 
 | 
         
        (9) поясни     
         | 
|||
| 
    11
    
        Истари    
     21.04.12 
            ✎
    16:34 
 | 
         
        (9) где ты увидел неправильное использование?
  
        Ит=СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.ВидыЗатрат); Ит.ИспользоватьСубконто(ВидыСубконто.Филиалы); Ит.ВыполнитьЗапрос(НачМесяца(ДатаДок),КонМесяца(ДатаДок),"93"); Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл Ит.ВыбратьСубконто(2); Пока Ит.ВыбратьСубконто(2) = 1 Цикл  | 
|||
| 
    12
    
        Истари    
     21.04.12 
            ✎
    16:35 
 | 
         
        мне нужно выбрать отдельные суммы в разрезе виды затрат и филиалов...на другом счете такая конструкция проходит нормально     
         | 
|||
| 
    13
    
        bolder    
     21.04.12 
            ✎
    16:58 
 | 
         
        (11) это же очевидно: последняя строчка кода должна быть 
  
        ит.Получитьсубконто(2)  | 
|||
| 
    14
    
        Эльниньо    
     21.04.12 
            ✎
    17:04 
 | 
         
        Ит.ВыполнитьЗапрос(НачМесяца(ДатаДок),КонМесяца(ДатаДок),"93");
  
        Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл Ит.ВыбратьСубконто(2); // Пока Ит.ВыбратьСубконто(2) = 1 Цикл //Чудило ты, мля Пока Ит.ПолучитьСубконто(2) = 1 Цикл  | 
|||
| 
    15
    
        Эльниньо    
     21.04.12 
            ✎
    17:04 
 | 
         
        +(14) Все советчики тоже     
         | 
|||
| 
    16
    
        Истари    
     21.04.12 
            ✎
    17:07 
 | 
         
        (14) мля, не могли показать сразу))
  
        приелся уже код этот спасибо всем  | 
|||
| 
    17
    
        bolder    
     21.04.12 
            ✎
    17:07 
 | 
         
        (15) ну и чем моя это отличается от (13)?     
         | 
|||
| 
    18
    
        Истари    
     21.04.12 
            ✎
    17:08 
 | 
         
        (17) тем что я был уверен на все 100 что последней строкой у меня и так стоит получить субконто =) машинально не то набрал     
         | 
|||
| 
    19
    
        bolder    
     21.04.12 
            ✎
    17:10 
 | 
         
        Не (15) конкретно наехал, требую сатисфакции, он что (13) тупо подставить в последнюю строчку (11) как написано в (13) не понял?     
         | 
|||
| 
    20
    
        bolder    
     21.04.12 
            ✎
    17:12 
 | 
         
        (15) Копипастер ты, а не советчик))     
         | 
|||
| 
    21
    
        Эльниньо    
     21.04.12 
            ✎
    17:13 
 | 
         
        (19) (6)(7)(9) )))     
         | 
|||
| 
    22
    
        Истари    
     21.04.12 
            ✎
    17:14 
 | 
         
        он все равно нагляднее ткнул носом :D     
         | 
|||
| 
    23
    
        bolder    
     21.04.12 
            ✎
    17:19 
 | 
         
        Ну если вам (13) не помогло, то (9) вам пусть (21) объяснит)).     
         | 
|||
| 
    24
    
        bolder    
     21.04.12 
            ✎
    17:20 
 | 
         
        (23) это по поводу кода в(8).     
         | 
|||
| 
    25
    
        bolder    
     21.04.12 
            ✎
    17:22 
 | 
         
        Понятно хоть, почему (8) не работает, знатоки ?))     
         | 
|||
| 
    26
    
        Истари    
     21.04.12 
            ✎
    17:23 
 | 
         
        ну вырезал я там кусок из (0) просто) переписывать лень было т.к. уверен был что там и так стоит получитьсубконто)     
         | 
|||
| 
    27
    
        AlexWolf    
     21.04.12 
            ✎
    17:24 
 | 
         
        я таки был прав (1), не ругайтесь
  
        а потом не прав (2) ))))  | 
|||
| 
    28
    
        bolder    
     21.04.12 
            ✎
    17:27 
 | 
         
        О чем и речь, но приходит(15) и всех обси...рает)).Нормально , так?     
         | 
|||
| 
    29
    
        Эльниньо    
     21.04.12 
            ✎
    17:30 
 | 
         
        (28) Какие мы нежные.
  
        Где ч/ю обронил? Сходи поищи, пока не подобрали.  | 
|||
| 
    30
    
        bolder    
     21.04.12 
            ✎
    17:32 
 | 
         
        (29) Кто слово мля выкинул?Что неправильно я посоветовал начиная с (6) по (11)?     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |