7.7 Помогите разобраться!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем andryscha92, 28 ноя 2013.

  1. TopicStarter Overlay
    andryscha92
    Offline

    andryscha92 Опытный в 1С

    Регистрация:
    31 янв 2012
    Сообщения:
    389
    Симпатии:
    1
    Баллы:
    29
    Всем здравствуйте!Подскажите почему обработка не работает с забалансовыми счетами которые создали вручную 010.01, 010.02, 010.03. С остальными счетами всё работает. Что нужно ещё добавить что бы заработало для этих счетов???

    Код:
    Процедура Сформировать()
    Номер=0;
    
    
    Таб = СоздатьОбъект("Таблица"); //основная
    
    Итог = СоздатьОбъект("ТаблицаЗначений");
    Итог.НоваяКолонка("Счет");
    Итог.НоваяКолонка("Склад");
    Итог.НоваяКолонка("Материал");
    Итог.НоваяКолонка("Количество");
    Итог.НоваяКолонка("Цена");
    Итог.НоваяКолонка("Сумма");
    
    
    БИ = СоздатьОбъект("БухгалтерскиеИтоги");
    БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
    БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
    
    Если ПустоеЗначение(Исклад)=1 Тогда
    ПоСкладам=0;
    Иначе
    ПоСкладам=1;
    КонецЕсли;
    
    
    Если Счета.ТекущаяСтрока() = 1 Тогда
    
    БИ.ВключатьСубсчета(-1,-1);
    БИ.ВыполнитьЗапрос(Дата1,Дата2, "МЦ2.ЭК,МЦ2.БУ, МЦ.04,МЦ.02, МЦ.03,013.4, 010.01, 010.02, 010.03",,,,, 5);
    
    
    Иначе		
    
    БИ.ВключатьСубсчета(-1,-1);
    СЧ="";
    Счета.ПолучитьЗначение(Счета.ТекущаяСтрока(),СЧ);
    БИ.ВыполнитьЗапрос(Дата1,Дата2,СЧ,,,,,5);
    КонецЕсли;
    
    
    //Заг="На "+Дата1;
    Если Счета.ТекущаяСтрока() = 1 Тогда
    Заг=Заг+", по всем субсчетам, ";
    Иначе
    Заг=Заг+", по субсчету: "+СЧ+", ";
    КонецЕсли;
    
    Если ПоСкладам=0 Тогда
    Заг=Заг+"по всем складам(МОЛ).";
    Иначе
    Заг=Заг+ИСклад+".";
    КонецЕсли;
    
    Таб.ВывестиСекцию("Шапка");
    
    БИ.ВыбратьСчета();
    
    
    
    Пока БИ.ПолучитьСчет(0)=1 Цикл
    
    Счет=БИ.Счет;   
    
    // Сумма = БИ.СКД("С");
    
    
    БИ.ВыбратьСубконто(1);
    
    Пока БИ.ПолучитьСубконто(1)=1 Цикл
    
    
    ОбщСумма = БИ.СКД("С");
    ОбщКол=БИ.СКД("К");
    Цена = 0;
    Если ОбщКол<>0 Тогда Цена=Окр(ОбщСумма/ОбщКол,3,1); КонецЕсли;
    
    
    
    БИ.ВыбратьСубконто(2);
    Пока БИ.ПолучитьСубконто(2)=1 Цикл
    
    Склад=БИ.Субконто(2);
    
    Если ПоСкладам=1 Тогда
    Если Склад<>ИСклад тогда
    Продолжить;
    КонецЕсли;	
    КонецЕсли;
    
    
    Количество=БИ.СКД("К");
    Сумма=Цена*Количество;
    Номер=Номер+1;
    
    Итог.НоваяСтрока(Номер);
    
    Итог.Счет=Строка(БИ.Счет);
    Итог.Склад=БИ.Субконто(2);
    Итог.Материал=БИ.Субконто(1);
    Итог.Количество=Количество;
    Итог.Цена=Цена;
    Итог.Сумма=Сумма;
    
    
    КонецЦикла;
    КонецЦикла;
    
    
    КонецЦикла;
    Итог.Сортировать("1+,2+,3+",); //Сортировка
    Итог.ВыбратьСтроки();
    
    Склад="";
    Счет="";
    
    СуммаПоВсемСчетам=0;
    СуммаПоСчету=0;
    
    КолПоВсемСчетам=0;
    КолПоСчету=0;
    
    Ном=0;
    
    Пока Итог.ПолучитьСтроку()=1 Цикл
    Если Счет<>Итог.Счет Тогда
    Если СуммаПоСчету<>0 тогда
    Таб.ВывестиСекцию("Итог");
    СуммаПоВсемСчетам=СуммаПоВсемСчетам+СуммаПоСчету;
    КолПоВсемСчетам=КолПоВсемСчетам+КолПоСчету;
    СуммаПоСчету=0;
    КолПоСчету=0;
    КонецЕсли;
    Счет=Итог.Счет;
    Таб.ВывестиСекцию("Счет");
    Склад="";
    
    КонецЕсли;
    
    Если Склад<>Итог.Склад Тогда
    Склад=Итог.Склад;
    Таб.ВывестиСекцию("Склад");
    КонецЕсли;
    Ном=Ном+1;
    
    Материал=Итог.Материал;
    Количество=Итог.Количество;
    Цена=Итог.Цена;
    Сумма=Итог.Сумма;
    Если Количество = 0 Тогда
    Продолжить;
    КонецЕсли;
    Таб.ВывестиСекцию("Материал");
    СуммаПоСчету=СуммаПоСчету+Итог.Сумма;
    КолПоСчету=КолПоСчету+Итог.Количество;
    
    КонецЦикла;							
    СуммаПоВсемСчетам=СуммаПоВсемСчетам+СуммаПоСчету;
    КолПоВсемСчетам=КолПоВсемСчетам+КолПоСчету;
    
    Таб.ВывестиСекцию("Итог");
    Таб.ВывестиСекцию("ИтогВсего");
    
    Таб.ВывестиСекцию("Подпись");
    
    
    
    Таб.ТолькоПросмотр(1);
    Таб.Опции(0,0,0,0);
    Таб.ПараметрыСтраницы(1,,,10,10,10,10,10,,,,);
    Таб.ПовторятьПриПечатиСтроки(3,4);
    Таб.Показать("Сформировать","");			
    
    КонецПроцедуры  
    //-----------------------------------------------
    Процедура ВводНового()
    //Дата1 = КонецПериодаБИ();   
    
    Счета.ДобавитьЗначение(1, "По всем");
    Счета.ДобавитьЗначение(2, "МЦ.02");
    Счета.ДобавитьЗначение(3, "МЦ.03");
    Счета.ДобавитьЗначение(4, "МЦ.04");
    Счета.ДобавитьЗначение(5, "МЦ2.БУ");
    Счета.ДобавитьЗначение(6, "МЦ2.ЭК");
    Счета.ДобавитьЗначение(7, "013.4");
    Счета.ДобавитьЗначение(8, "010.01");
    Счета.ДобавитьЗначение(9, "010.02");
    Счета.ДобавитьЗначение(10, "010.03");
    
    
    КонецПроцедуры

    Вложения:

    • 222.JPG
      222.JPG
      Размер файла:
      57,4 КБ
      Просмотров:
      8
    • 111.JPG
      111.JPG
      Размер файла:
      150,8 КБ
      Просмотров:
      8
  2. TopicStarter Overlay
    andryscha92
    Offline

    andryscha92 Опытный в 1С

    Регистрация:
    31 янв 2012
    Сообщения:
    389
    Симпатии:
    1
    Баллы:
    29
    похоже разобрался, проблема в видах субконто а именно
    Код:
     БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
    БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения);

    на счетах которые я хочу добавить в обработку они другие!
    Тема закрыта!
Похожие темы
  1. Михаил.
    Ответов:
    3
    Просмотров:
    214
Загрузка...

Поделиться этой страницей