Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 16:32

Ошибочка Виды субконто

Автор andryscha92, 29 ноя 2013, 13:47

0 Пользователей и 1 гость просматривают эту тему.

andryscha92

Можно ли исправить как нибудь?
[size=78%]БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);[/size]
{C:\DOCUMENTS AND SETTINGS\RESHENIE09\РАБОЧИЙ СТОЛ\ЗАБАЛАНСОВЫЕ СЧЕТА.ERT(32)}: Число фильтров субконто превысило допустимое значение!

Herby

могу ошибаться, но по-моему эта ошибка связана с максимальным количеством субконто.
В плане счетов это параметр указывается, у вас по всей видимости их всего три, а вы пытаетесь использовать четвертое.

LordWizard

В плане счетов всего 3-и Субконто и нельзя использовать более 3-х при фильтрах или попытки получить итоги. Могу предположить о МОЛ в рамках Мест Хранения. Вот и используйте в таком разрезе.
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

andryscha92

Цитата: Herby от 29 ноя 2013, 14:36
могу ошибаться, но по-моему эта ошибка связана с максимальным количеством субконто.
В плане счетов это параметр указывается, у вас по всей видимости их всего три, а вы пытаетесь использовать четвертое.
да всё верно их всего три, в этом случае либо в плане счетов добавлять ещё одно субконто(что в данном случае лучше не делать) либо в отчёте удалять четвертое.
Добавлено: 29 ноя 2013, 14:56


[/quote]
Цитата: LordWizard от 29 ноя 2013, 14:52Могу предположить о МОЛ в рамках Мест Хранения. Вот и используйте в таком разрезе.
можно подробнее,в смысле "о МОЛ в рамках Мест Хранения."?

Добавлено: 29 ноя 2013, 15:14


Цитата: andryscha92 от 29 ноя 2013, 14:53
Цитата: Herby от 29 ноя 2013, 14:36
могу ошибаться, но по-моему эта ошибка связана с максимальным количеством субконто.
В плане счетов это параметр указывается, у вас по всей видимости их всего три, а вы пытаетесь использовать четвертое.
да всё верно их всего три, в этом случае либо в плане счетов добавлять ещё одно субконто(что в данном случае лучше не делать) либо в отчёте удалять четвертое.
Добавлено: 29 ноя 2013, 14:56


Цитата: LordWizard от 29 ноя 2013, 14:52Могу предположить о МОЛ в рамках Мест Хранения. Вот и используйте в таком разрезе.
можно подробнее,в смысле "о МОЛ в рамках Мест Хранения."?

[/quote]разобрался,сейчас попробую.
Добавлено: 29 ноя 2013, 15:48


А можно сделать так что бы в отчёт попадала информация по всем счетам а т.е.что то придумать с видами субконто:
БИ = СоздатьОбъект("БухгалтерскиеИтоги");

Если (Счета.ТекущаяСтрока() = 8) ИЛИ (Счета.ТекущаяСтрока() = 10) Тогда
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения);
ИначеЕсли Счета.ТекущаяСтрока() = 9 Тогда
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
ИначеЕсли Счета.ТекущаяСтрока() = 1 Тогда //в этом условие когда на форме выбирается "по всем" счетам, не все счета
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);//попадают в отчет.
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
// БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения); //
// БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);   //
Иначе
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
КонецЕсли;



а вот сам код, можно что нибудь сделать?


Процедура Сформировать()

Номер=0;


Таб = СоздатьОбъект("Таблица"); //основная

Итог = СоздатьОбъект("ТаблицаЗначений");
Итог.НоваяКолонка("Счет");
Итог.НоваяКолонка("Склад");
Итог.НоваяКолонка("Материал");
Итог.НоваяКолонка("Количество");
Итог.НоваяКолонка("Цена");
Итог.НоваяКолонка("Сумма");


БИ = СоздатьОбъект("БухгалтерскиеИтоги");

Если (Счета.ТекущаяСтрока() = 8) ИЛИ (Счета.ТекущаяСтрока() = 10) Тогда
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения);
ИначеЕсли Счета.ТекущаяСтрока() = 9 Тогда
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
ИначеЕсли Счета.ТекущаяСтрока() = 1 Тогда
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
// БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения);
// БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
Иначе
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
КонецЕсли;


Если ПустоеЗначение(Исклад)=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");
     
     
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск