Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 07:29
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Выберите остатки по счёту в разрезе 3-х справочников  (Прочитано 3994 раз)

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

Оффлайн d325

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-10
  • Сайт: 
Дали мне такое задание на проверку:

А. Выберите остатки по счёту 1211 в разрезе Контрагентов, Оснований и Видов доходов с учётом иерархии.  В "Контрагентах" выгрузить Код, наименование, Полное наименование (которое является периодическим) и список оснований, по которым имеются остатки. Формат файла может быть любым...

Насколько я понял все надо в одну таблицу уместить. Но я не понял как связать сразу три справочника, причем Виды доходов не имеет с 2мя другими ничего общего. Может надо между строк читать. Помогите, товарищи программисты.


Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Расшифруйте, что это у вас за счет такой? Его аналитика в плане счетов.

Оффлайн d325

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-10
  • Сайт: 
Наверно опечатка у афтара, вероятно счет 1210 - Краткосрочная дебиторская задолженность покупателей и заказчиков (субконто 1 - Контрагенты, 2 - Основания, 3го нет).  В конфигурации Бухгалтерский учет для Казахстана (7.70.254). Из-за стран, по логике, должны различаться только счета и константы.

Оффлайн DenPlus

  • ***
  • Сообщений: 106
  • РЕПУТАЦИЯ: 64
  • КПД: 60%
  • Регистрация: 2010-10-27
  • Компания: www.cosmocat.ru
Примерно так.
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);
БИ.ИспользоватьСубконто(ВыдыСубконто.ВашеВтороеСубконтоПоСчету,,1);
БИ.ИспользоватьСубконто(ВыдыСубконто.ВашеТретьеСубконтоПоСчету,,1); // или что есть видов доходов - надо понимать

БИ.ВыполнитьЗапрос(началопериода, конецПериода, "1211");

Пока БИ ПолучитьСубконто(1) Цикл
//Здесь контрагенты
Пока БИ ПолучитьСубконто(2) Цикл
//инфа по второму субконто
Пока БИ ПолучитьСубконто(3) Цикл
//инфа по третьему субконто
КонецЦикла;
КонецЦикла;
КонецЦикла;


Оффлайн d325

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-10
  • Сайт: 
Спасибо DenPlus за помощь

Оказалось, что у автора есть счет 1211, а у меня нет.

А если выполнить то же самое, только в разрезе материалов и складов (счет 1310) и записать в dbf с именем "ИмяФайлаБазы"  то получится:

 Файл = создатьОбъект("XBASE");

Файл.ДобавитьПоле("Kod","N",8,0);
Файл.ДобавитьПоле("Name","S",100,0);
Файл.ДобавитьПоле("Sklad","S",100,0);
Файл.ДобавитьПоле("Cena","N",19,2);
Файл.ДобавитьПоле("Kolvo","N",10,0);


Если ИмяФайлаБазы <>"" Тогда
   
Файл.СоздатьФайл(ИмяФайлаБазы);   
     
БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги");        
   
Счет = СчетПоКоду("131");
       
                       
Спр = СоздатьОбъект("Справочник.Материалы");   
Спр.ВыбратьЭлементы(1);

    
   БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы,,1);
   БухИтоги.ИспользоватьСубконто(ВидыСубконто.МестаХранения,,1);
   БухИтоги.ВыполнитьЗапрос(ДатаДок,ДатаДок,Счет , , , 1,,"СК" );
   БухИтоги.ВыбратьСубконто(1); 
                                         
      
 Пока БухИтоги.ПолучитьСубконто(1)=1 Цикл 
    
    БухИтоги.ВыбратьСубконто(2);
    
    Пока БухИтоги.ПолучитьСубконто(2)=1 Цикл
      
        Спр.ПолучитьЭлемент();      
   
 
  Файл.Добавить();
   Файл.Kod = Спр.Код;
   Файл.Name = БухИтоги.ПредставлениеСубконто(ВидыСубконто.Материалы);
   Файл.Sklad = БухИтоги.ПредставлениеСубконто(ВидыСубконто.МестаХранения);
   
      Если БухИтоги.СКД("К")>0 Тогда
         Файл.Cena = Окр(БухИтоги.СКД("С")/БухИтоги.СКД("К"),2);
      КонецЕсли ;
   
   Файл.Kolvo = БухИтоги.СКД("К");
  Файл.Записать();
  КонецЦикла;
КонецЦикла;

Файл.ЗакрытьФайл();


 

Оффлайн DenPlus

  • ***
  • Сообщений: 106
  • РЕПУТАЦИЯ: 64
  • КПД: 60%
  • Регистрация: 2010-10-27
  • Компания: www.cosmocat.ru
Спр = СоздатьОбъект("Справочник.Материалы");   
Спр.ВыбратьЭлементы(1);

Это вроде лишнее. Дело в том, что третий параметр в "использоватьСубконто()" равный единичке, уже разворачивает итоги в разрезе материалов.

Полученный в спр элемент в общем случае будет не соответствовать "бухитогу" полученного для конктетного материала.

Когда мы хотим получить бухитог по конкретному спр, необходимо данный спр передавать во второй параметр запроса, а в третьем указывать двоечку т.е отбирать по данному субконто:

БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы,спр.текущийЭлемент(),2);

Кстати посмотрите, возможно переменная БухИтоги уже объявлена в глобальном модуле как экспортная.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 373
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal