Имя: Пароль:
1C
1С v8
функция свернуть
0 shrek301
 
31.10.12
11:31
Добрый день сам я админ встал вопрос со сдачей в налоговую транспортной декларации и бухи озадачили меня типо мол не хотим заполнять ручками хотим кнопочку
вот вроде все сделал но в функции свернуть одно значение не хочет правильно садиться

Процедура Загрузить()
   Перем ТекущаяСтрока;
   Перем ЧислоСтрок;
   Перем Список;
   
   КолЛистов=0;//с аванса
   
   СписокДопСтраниц.ТекущаяСтрока(1);   //с аванса
   Если СписокДопСтраниц.ТекущаяСтрока() = 0 Тогда
       Возврат;
   КонецЕсли;
   

   КолвоГрупп    = СписокДопСтраниц.размерсписка(); //с аванса
   Для й = 1 По КолвоГрупп Цикл
       ДобавитьЛист(-1);
   КонецЦикла;
   
   Ошибка = 0;
   Расчет(0);
   ТЗ.Очистить();
   ТЗ.НоваяКолонка("КПП");
   ТЗ.НоваяКолонка("ОКАТО");
   ТЗ.НоваяКолонка("КодВидТС");
   ТЗ.НоваяКолонка("ИНТС");
   ТЗ.НоваяКолонка("МаркаТс");
   ТЗ.НоваяКолонка("РЗТС");    
   ТЗ.НоваяКолонка("НалогБаза");    
   ТЗ.НоваяКолонка("ЕИНБОкеи");    
   ТЗ.НоваяКолонка("ЭкКласс");    
   ТЗ.НоваяКолонка("КолСгодВып");
   ТЗ.НоваяКолонка("КолПолМесВлад");    
   ТЗ.НоваяКолонка("Кв");      
   ТЗ.НоваяКолонка("НалСтав");
   ТЗ.НоваяКолонка("СуммИсчНал");
   ТЗ.НоваяКолонка("кУплате");
   

   
   
   Если НеВыбран(ФормИмяФайлаДанных,"Не выбран файл загрузки.") = 1 Тогда
       Возврат;
   КонецЕсли;
   
   Экс = СоздатьОбъект("Excel.Application");
   НашФайл = Экс.Workbooks.Open(СокрЛП(ФормИмяФайлаДанных));  
   
   Шитс = 1;    //только первый лист
   КонСтр = 1000;
       
   НачСтр = 5;       //по транспорту данные в файле идут с 5 строки, до этого шапка
   
   НашЛист = НашФайл.Sheets(Шитс);
   
   Для стр = НачСтр По КонСтр Цикл
               
               текзнач = "";
               текзнач = СокрЛП(Строка(НашЛист.Cells(стр,1).Value));
               
               Если СокрЛП(Строка(текЗнач)) = "###" Тогда    
                   КонСтр = стр;                  
                   
               КонецЕсли;
           КонецЦикла;      
           
   
   
   Для стр = НачСтр По КонСтр-1 Цикл
   
       КПП_П = " ";                                                  
       
       КПП_Файл = СокрЛП(Строка(НашЛист.Cells(стр,3).Value)); //с аванса
       ОКАТО_Файл=  СокрЛП(Строка(НашЛист.Cells(стр,5).Value)); //с аванса
         
       //с аванса
       Если (Лев(КПП_Файл ,8) = "02520001") или (Лев(КПП_Файл ,4) = "0278") Тогда  
           //принадлежность объекта к инспекции определяем по КПП+ОКАТО  
           КПП_П = ОпределениеКППсУчетомОКАТО(КПП_Файл,ОКАТО_Файл);
       Иначе
           КПП_П = КПП_Опр(КПП_Файл,1,0);
       КонецЕсли;
       
       Если (ПустаяСтрока(КПП_П) = 0) Тогда    
           ТЗ.НоваяСтрока();                                    
           ТЗ.КПП = КПП_П;
           ТЗ.ОКАТО = СокрЛП(Строка(НашЛист.Cells(стр,4).Value));
             ТЗ.КодВидТС = СокрЛП(Строка(НашЛист.Cells(стр,9).Value));
           ТЗ.ИНТС = СокрЛП(Строка(НашЛист.Cells(стр,10).Value));
           ТЗ.МаркаТс = СокрЛП(Строка(НашЛист.Cells(стр,5).Value));
           ТЗ.РЗТС = СокрЛП(Строка(НашЛист.Cells(стр,8).Value));
           ТЗ.НалогБаза =Число(СокрЛП(Строка(НашЛист.Cells(стр,19).Value)));
           ТЗ.ЕИНБОкеи = СокрЛП(Строка(НашЛист.Cells(стр,11).Value));  
           ТЗ.ЭкКласс = СокрЛП(Строка(НашЛист.Cells(стр,14).Value));
           ТЗ.КолСгодВып = Число(СокрЛП(Строка(НашЛист.Cells(стр,15).Value)));
           ТЗ.КолПолМесВлад = Число(СокрЛП(Строка(НашЛист.Cells(стр,17).Value)));    
           ТЗ.Кв = Число(СокрЛП(Строка(НашЛист.Cells(стр,20).Value)));    
           ТЗ.НалСтав = Число(СокрЛП(Строка(НашЛист.Cells(стр,21).Value)));        
           ТЗ.СуммИсчНал = Число(СокрЛП(Строка(НашЛист.Cells(стр,26).Value)));
           ТЗ.кУплате = Число(СокрЛП(Строка(НашЛист.Cells(стр,26).Value)));
           
       
       
           
           //ТЗ.КоличествоСтрок()
           
       КонецЕсли;    
       //
       //состояние("Строка " + Строка(стр) +" ИЗ  "+ Строка(КонСтр-1)); //нет в авансах
   КонецЦикла;

   
   ТЗ.Свернуть("КПП,ОКАТО,Тест,КодВидТС,ИНТС,МаркаТс,РЗТС,НалогБаза,ЕИНБОкеи,ЭкКласс,КолСгодВып,КолПолМесВлад,Кв,НалСтав","СуммИсчНал,кУплате,");    
       
       
   ТЗ.ВыбратьСтроки();
   
   Пока (ТЗ.ПолучитьСтроку() = 1) Цикл  
       
        П000020003003 = ТЗ.КодВидТС; //П000020001000 = ТЗ.КНомер;
          П000020004003 = ТЗ.ИНТС;
        П000020002003 = ТЗ.ОКАТО;  //П000020002000 = ТЗ.ОКАТО;
        П000020005003 = ТЗ.МаркаТс;   //П000020003000
        П000020006003 = ТЗ.РЗТС;   //П000020005000 = ТЗ.КЦена;
        П000020007003 = ТЗ.НалогБаза;    //П000020006000 = ТЗ.Доля;
        П000020008003 = ТЗ.ЕИНБОкеи;
        П000020009003 = ТЗ.ЭкКласс;  //П000020022000 = ТЗ.Ставка;
        П000020010003 = ТЗ.КолСгодВып; //П000020023000
        П000020011003 = ТЗ.КолПолМесВлад;      //П000020024000
        П000020012003 = ТЗ.Кв;   //П000020025000
        П000020013003 = ТЗ.НалСтав;
        П000020014003 = ТЗ.СуммИсчНал;
        П000020023003 = ТЗ.кУплате;
       
        ДобавитьЛист(1);       //с аванса
        КолЛистов=КолЛистов+1; //с аванса
   КонецЦикла;    
   
   
   Если Ошибка = 1 Тогда  
       Форма.Закрыть(0);
   Иначе
       Экс.Workbooks.Close();
       Экс.Quit();    
   КонецЕсли;
   ДобавитьЛист(-1);
   ТЗ.Свернуть("ОКАТО","");
   
   НомСтр = (Цел(ТЗ.КоличествоСтрок()/4) + 1) + 1;
   
   // с авансов
   Для й = 0 По КолЛистов-1 Цикл
       НомерСтраницы = " ";  
       НомерСтраницы = Прав("000"+Строка(НомСтр + (КолЛистов-й)),3);
       ЗаполнитьКвадратики();
       Перелистать(-1);
   КонецЦикла;
   
   Константа.Земля_Р1 = Цел(ТЗ.КоличествоСтрок()/4) + 1;
   Константа.Земля_Р2 = НомСтр + КолвоГрупп-1;
   
КонецПроцедуры


вот эти последние строчки
ТЗ.НоваяКолонка("СуммИсчНал");
   ТЗ.НоваяКолонка("кУплате"); должно садиться в разные ячейки но садиться только сумма в обе а к оплате теряется
1 hhhh
 
31.10.12
11:35
это 7.7 у вас
2 Ёпрст
 
31.10.12
11:37
(0)

//ТЗ.НоваяКолонка("СуммИсчНал");
//ТЗ.НоваяКолонка("кУплате");
 ТЗ.НоваяКолонка("СуммИсчНал","Число");
 ТЗ.НоваяКолонка("кУплате","Число");
3 Ёпрст
 
31.10.12
11:38
а кто и что там у вас садится, я не в курсе.
4 shrek301
 
31.10.12
11:39
ТЗ.НоваяКолонка("СуммИсчНал","Число");вот это садится
 ТЗ.НоваяКолонка("кУплате","Число"); и вот сюда тоже садиться это значение
5 shrek301
 
31.10.12
11:40
хотя должно браться из другой ячейки
6 shrek301
 
31.10.12
11:41
а пошему я не пойму вроде все делал по правилам
7 shrek301
 
31.10.12
11:45
СумИсчисл ТЗ.НоваяКолонка("СуммИсчНал","Число");

СумИсчислУпл  ТЗ.НоваяКолонка("кУплате","Число");


ну вот пункты в которые должны попадать эти значения

а выходит по цифрам вот так

СумИсчисл ТЗ.НоваяКолонка("СуммИсчНал","Число");

СумИсчислУпл  ТЗ.НоваяКолонка("СуммИсчНал","Число");
8 qesto
 
31.10.12
11:45
ТЗ.СуммИсчНал =Число(СокрЛП(Строка(НашЛист.Cells(стр,26).Value)));
           ТЗ.кУплате = Число(СокрЛП(Строка(НашЛист.Cells(стр,26).Value)));


столбец 26 - походу вроде надо разные...Не?
9 Ёпрст
 
31.10.12
11:46
(8) глазастый
10 shrek301
 
31.10.12
11:46
пофиг менял и так и этак щас просто поставил вот тут СуммИсчНал
что бы конечный результат взялся но не нет((
11 shrek301
 
31.10.12
11:48
все равно почему то берется неправильно
12 shrek301
 
31.10.12
12:41
ап
13 shrek301
 
01.11.12
13:46
проблему решил, заменил Свернуть на Выгрузить