Перейти к содержимому


Услуги программиста 1С
Профессиональные программисты 1С.
Весь комплекс услуг сопровождения 1С.

Курсы 1С
Бухгалтерам, менеджерам
и программистам.
Бесплатно!
Живое индивидуальное обучение по 1С.

- - - - -

Получить итог по счету


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1   IRON_PRIEST

IRON_PRIEST

      Сержант

    • Пользователи
    • Pip
    • Сообщений: 38
    • Регистрация: 16-February 10
    • Откуда:Днепропетровск , Днепропетровская Область , Украина

Отправлено 01 January 2011 - 09:05

Доброе утро.

есть некий отчет аля оборотно-сальдовая, с развернутыми остатками

Code
Процедура Сформировать()       
ТЗ=СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Счет");
ТЗ.НоваяКолонка("Суб1");
ТЗ.НоваяКолонка("Суб2");
ТЗ.НоваяКолонка("Суб3");
ТЗ.НоваяКолонка("ДТн");
ТЗ.НоваяКолонка("КТн");                       
ТЗ.НоваяКолонка("ДТк");
ТЗ.НоваяКолонка("КТк");
Таб=СоздатьОбъект("Таблица");       
Ит=СоздатьОбъект("БухгалтерскиеИтоги");       
//Ит.Опции(0,0);
Ит.ИспользоватьСубконто();
Ит.ИспользоватьСубконто();
Ит.ИспользоватьСубконто();
Ит.ВключатьСубсчета(1,);
Ит.ВыполнитьЗапрос(НачДата,КонДата,"65",,, ,, );       
Ит.ВыбратьСчета(,,);   
Пока Ит.ПолучитьСчет() = 1 Цикл    
   Счет=Ит.Счет;
   Если Счет.КоличествоСубконто()=3 Тогда
    Ит.ВыбратьСубконто(1,,,,);
    Пока Ит.ПолучитьСубконто(1)=1 Цикл
     суб1=Ит.Субконто(1);
     Ит.ВыбратьСубконто(2,,,,);
     Пока Ит.ПолучитьСубконто(2)=1 Цикл
      суб2=Ит.Субконто(2);
      Ит.ВыбратьСубконто(3,,,,);
      Пока Ит.ПолучитьСубконто(3)=1 Цикл
                суб3=Ит.Субконто(3);
       ДТн=Ит.СНД();
       КТн=Ит.СНК();   
       ДТк=Ит.СКД();
       КТк=Ит.СКК();
       ТЗ.НоваяСтрока();   
       ТЗ.Счет=Счет;
       ТЗ.суб1=суб1;
       ТЗ.суб2=суб2;
       ТЗ.суб3=суб3;
       ТЗ.ДТн=ДТн;
       ТЗ.КТн=КТн;   
       ТЗ.ДТк=ДТк;
       ТЗ.КТк=КТк;
      КонецЦикла;
     КонецЦикла;
    КонецЦикла;
   ИначеЕсли Счет.КоличествоСубконто()=2 Тогда   
    Ит.ВыбратьСубконто(1,,,,);
    Пока Ит.ПолучитьСубконто(1)=1 Цикл
     суб1=Ит.Субконто(1);
     Ит.ВыбратьСубконто(2,,,,);
     Пока Ит.ПолучитьСубконто(2)=1 Цикл
      суб2=Ит.Субконто(2);
      ДТн=Ит.СНД();
      КТн=Ит.СНК();   
      ДТк=Ит.СКД();
      КТк=Ит.СКК();
      ТЗ.НоваяСтрока();   
      ТЗ.Счет=Счет;
      ТЗ.суб1=суб1;
      ТЗ.суб2=суб2;
      ТЗ.ДТн=ДТн;
      ТЗ.КТн=КТн;   
      ТЗ.ДТк=ДТк;
      ТЗ.КТк=КТк;
     КонецЦикла;
    КонецЦикла;      
   ИначеЕсли Счет.КоличествоСубконто()=1 Тогда
    Ит.ВыбратьСубконто(1,,,,);
    Пока Ит.ПолучитьСубконто(1)=1 Цикл
     суб1=Ит.Субконто(1);
     ДТн=Ит.СНД();
     КТн=Ит.СНК();   
     ДТк=Ит.СКД();
     КТк=Ит.СКК();
     ТЗ.НоваяСтрока();   
     ТЗ.Счет=Счет;
     ТЗ.суб1=суб1;
     ТЗ.ДТн=ДТн;
     ТЗ.КТн=КТн;   
     ТЗ.ДТк=ДТк;
     ТЗ.КТк=КТк;
    КонецЦикла;
   Иначе
    ДТн=Ит.СНД();
    КТн=Ит.СНК();   
    ДТк=Ит.СКД();
    КТк=Ит.СКК();
    ТЗ.НоваяСтрока();   
    ТЗ.Счет=Счет;
    ТЗ.суб1=суб1;
    ТЗ.ДТн=ДТн;
    ТЗ.КТн=КТн;   
    ТЗ.ДТк=ДТк;
    ТЗ.КТк=КТк;
   КонецЕсли;   
КонецЦикла;      
Таб.ВывестиСекцию("Шапка");
ТЗ.Свернуть("Счет","ДТн,КТн,ДТк,КТк");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл;
   ТАБ.ВывестиСекцию("Секция_1");
КонецЦикла;
Таб.Показать();       
Таб.ТолькоПросмотр(1);       
КонецПроцедуры

все хорошо но например итог по счету 65 выводится неправильный, т.е. свернутый по субсчетам 651, 652, 653, 656

вот такие итоги

http://i063.radikal....63ae59e914f.jpg

как сделать так чтобы по счету 65 выводилась сумма всех дт остатков по дебету и кт остатков по кредиту, т.е. суммы должны быть вот такими

дт начало=1,151,477.43 кт начало=1,528,557.56 дт конец=1,414,701.18 кт конец=1,668,299.00

Спасибо, с НОВЫМ ГОДОМ!!!

Добавлено (01.01.2011, 09:05)
---------------------------------------------
и еще вопрос, как сделать чтобы не выводились забалансовые счета

чтото не могу найти где это указать

  • 0

#2   Ardi

Ardi

      Генерал-полковник

    • Пользователи
    • PipPipPipPipPipPipPipPipPip
    • Сообщений: 958
    • Регистрация: 27-January 09
    • Откуда:Столица

Отправлено 02 January 2011 - 17:48

2.
Опции(<?>,)
Синтаксис:
Опции(<ВклЗабалансСуммы>,<ВклОборотСубкСуммы>)
Назначение:
Устанавливает режим включения сумм в итоги.
Параметры:
<ВклЗабалансСуммы> - признак включения в итоги сумм по забалансовым счетам. Число: 0 - не включаются суммы по забалансовым счетам; 1 - включаются суммы по забалансовым счетам.
<ВклОборотСубкСуммы> -признак включения в итоги сумм по оборотным субконто. Число: 0 - не включаются суммы по оборотным суб-конто; 1 - включаются суммы по оборотным субконто.

Добавлено (02.01.2011, 17:48)
---------------------------------------------
1.
СКДРС(<?>)
Синтаксис:
СКДРС(<ТипСуммы>)
Назначение:
Возвращает дебетовое развернутое сальдо на конец периода.
Параметры:
<ТипСуммы> - Необязательный параметр. Число или строка - тип возвращаемой суммы. Может принимать одно из следующих значений: 1 (''C'') - сумма; 2 (''В'') - валютная сумма; 3 (''К'') - количество. Если параметр не указан, метод возвращает сумму.

СККРС(<?>)
Синтаксис:
СККРС(<ТипСуммы>)
Назначение:
Возвращает кредитовое развернутое сальдо на конец периода.
Параметры:
<ТипСуммы> - Необязательный параметр. Число или строка - тип возвращаемой суммы. Может принимать одно из следующих значений: 1 (''C'') - сумма; 2 (''В'') - валютная сумма; 3 (''К'') - количество. Если параметр не указан, метод возвращает сумму.

  • 0

#3   IRON_PRIEST

IRON_PRIEST

      Сержант

    • Пользователи
    • Pip
    • Сообщений: 38
    • Регистрация: 16-February 10
    • Откуда:Днепропетровск , Днепропетровская Область , Украина

Отправлено 03 January 2011 - 07:45

не работают эти СКДРС или я чото не так делаю?

1перебор счетов
2сальдо=ИТ.СКДРС();

  • 0

#4   vik

vik

      Полковник

    • Пользователи
    • PipPipPipPipPipPip
    • Сообщений: 241
    • Регистрация: 08-April 09
    • Откуда:Белогородка , Киевская Область , Украина

Отправлено 03 January 2011 - 13:35

IRON_PRIEST, Проверь команду ИспользоватьСубконто(<ВидСубконто>, <Субконто>)
  • 0
Одна из самых чудесных наград этой жизни - искренне помогая другому, непременно помогаешь и себе

#5   IRON_PRIEST

IRON_PRIEST

      Сержант

    • Пользователи
    • Pip
    • Сообщений: 38
    • Регистрация: 16-February 10
    • Откуда:Днепропетровск , Днепропетровская Область , Украина

Отправлено 03 January 2011 - 13:50

дык я же не знаю какие субконто у счета, поэтому пустым оставил

или я не то понял?

  • 0

#6   vik

vik

      Полковник

    • Пользователи
    • PipPipPipPipPipPip
    • Сообщений: 241
    • Регистрация: 08-April 09
    • Откуда:Белогородка , Киевская Область , Украина

Отправлено 03 January 2011 - 15:12

IRON_PRIEST, Дело в том, что к 65 счету субконто не привязан, а развернутое сальдо можно получить только по субконто. Выход (например) просумировать развернутые сальдо по субсчетам
  • 0
Одна из самых чудесных наград этой жизни - искренне помогая другому, непременно помогаешь и себе

#7   IRON_PRIEST

IRON_PRIEST

      Сержант

    • Пользователи
    • Pip
    • Сообщений: 38
    • Регистрация: 16-February 10
    • Откуда:Днепропетровск , Днепропетровская Область , Украина

Отправлено 03 January 2011 - 15:34

вот кароче написал вот такую вещь еще

под: счет=ит.счет
счет1=счет.родитель();

вывожу и родителя, но при ТЗ.Свернуть("Счет, Счет1","ДТн,КТн,ДТк,КТк");

счет1 не сворачивается

Добавлено (03.01.2011, 15:34)
---------------------------------------------
и получается

перед каждым субсчетом выводится счет 65 с такимже итогом как и по субсчету

надеюсь понятно описал

  • 0

#8   vik

vik

      Полковник

    • Пользователи
    • PipPipPipPipPipPip
    • Сообщений: 241
    • Регистрация: 08-April 09
    • Откуда:Белогородка , Киевская Область , Украина

Отправлено 03 January 2011 - 16:29

Может выбрать только субсчета и при вводе в промежуточную таблицу данных по субсчету аналогично вводить и данные по родителю.
ТЗ.НоваяСтрока();
ТЗ.Счет=Счет;
ТЗ.суб1=суб1;
ТЗ.ДТн=ДТн;
.....
ТЗ.НоваяСтрока();
ТЗ.Счет=Счет1;
ТЗ.суб1=суб1;
ТЗ.ДТн=ДТн;
Потом свернуть
ТЗ.Свернуть("Счет","ДТн,КТн,ДТк,КТк");
Должно получиться то, что требуется happy
  • 0
Одна из самых чудесных наград этой жизни - искренне помогая другому, непременно помогаешь и себе

#9   IRON_PRIEST

IRON_PRIEST

      Сержант

    • Пользователи
    • Pip
    • Сообщений: 38
    • Регистрация: 16-February 10
    • Откуда:Днепропетровск , Днепропетровская Область , Украина

Отправлено 04 January 2011 - 08:32

будем экспериментировать!
  • 0



Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных