7.7 БухИтоги

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Cooper-Mixal, 18 мар 2009.

  1. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    Добрый день!!!

    Появилась проблеммка, не могу разобраться! С "целыми" счетами идет, а с субсчетами отказывается работать!

    В чем дело?

    Код:
    БИ10 = СоздатьОбъект("БухгалтерскиеИтоги");  
    БИ10.ИспользоватьСубконто(ВидыСубконто.Материалы, СписокМатериалов, 2);
    БИ10.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения);
    
    БИ10.ВключатьСубсчета(1,1);          
    Если ВидСчета = 10.1 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.1",,,,, "К"); 
    ИначеЕсли ВидСчета = 10.2 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.2",,,,, "К");
    ИначеЕсли ВидСчета = 10.3 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.3",,,,, "К");       
    ИначеЕсли ВидСчета = 10.4 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.4",,,,, "К");
    ИначеЕсли ВидСчета = 10.5 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.5",,,,, "К");      
    ИначеЕсли ВидСчета = 10.6 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.6",,,,, "К");
    ИначеЕсли ВидСчета = 10.10 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.10",,,,, "К");       
    ИначеЕсли ВидСчета = 10.8 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.8",,,,, "К");
    ИначеЕсли ВидСчета = 10.9 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.9",,,,, "К");      
    ИначеЕсли ВидСчета = 10.12 Тогда
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.12",,,,, "К");
    
    КонецЕсли;
    
    ТаблицаОстатков = СоздатьОбъект("ТаблицаЗначений");
    ВыгрузитьТабличнуюЧасть(ТаблицаОстатков, "Материал, Количество");
    ТаблицаОстатков.Свернуть("Материал", "Количество");
    ТаблицаОстатков.НоваяКолонка("КоличествоНаСкладах", "Число");
    
    ТаблицаОстатков.ВыбратьСтроки();
    Пока ТаблицаОстатков.ПолучитьСтроку() = 1 Цикл
    КоличествоНаСкладе = 0;
    Если ТаблицаОстатков.Материал.Вид() = "Материалы" Тогда
    БухИтоги = БИ10;
    КонецЕсли;
    
    
    
    Если БухИтоги.ПолучитьСубконто(1,,ТаблицаОстатков.Материал) = 1  Тогда  //Вот в этом месте не берет субконто!  
    ТаблицаОстатков.КоличествоНаСкладах = БухИтоги.СКД("К");
    
    Если БухИтоги.ПолучитьСубконто(ВидыСубконто.МестаХранения,, МестоХранения) = 1 Тогда
    КоличествоНаСкладе = БухИтоги.СКД("К");
    КонецЕсли;
    КонецЕсли;
    
    
    
    
    
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    БИ выгружай в ТЗ и там ищи (так правильно)
    ИЛИ
    Запрос в цикле по конкретному материалу (так не правильно но работает)
  3. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26

    Надо проще: :unsure:

    Просто в запросе взять все субсчета!


    Код:
    
    БИ10.ВыполнитьЗапрос(,ТекущийДокумент(), "10.1,10.2,10.3,10.4,10.5,10.6,10.8,10.9,10.10,10.12",,,,, "К");
    
    
    
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Или только "10".
    Так как у тебя включена выборка по субсчетам, то их тоже переберет (Работатет только со субсчетами первого уровня - проверено эксперементально ;) )

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