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

Автор Тема: Бухгалтерские итоги. Выборка по субконто  (Прочитано 5412 раз)

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

Оффлайн Fianit

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-09-04
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день!
Помогите, пожалуйста, разобраться. Скорее всего я просто не понимаю чего-то в механизме формирования Бух. Итогов. Проблема такая: мне нужно получить бух итоги по счёту развернутые по одному субконто и отобранные по второму. Второе субконто - подразделения. В цикле, перебирая справочник подразделений, я пытаюсь получить итоги по всем подразделениям по очереди, но, в итоге, получаю только по первому. По остальным не выбирается.


Оффлайн Fianit

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-09-04
  • Сайт: 
  • Профессия: Ученик 1С
1С v7.7 Сетевая (7.70.027)
Бух. учёт, редакция 4.5 (7.70.479)


Процедура Выполнить()

БухгалтерскиеИтоги = СоздатьОбъект("БухгалтерскиеИтоги");
БухгалтерскиеИтоги.ИспользоватьРазделительУчета("");
БухгалтерскиеИтоги.ВключатьСубсчета(0);

Счет = СчетПоКоду("44.1");

Если Счет.КоличествоСубконто() <> 2 Тогда
Сообщить("У счёта 44.1 изменилось количество субконто. Внесите соответствующие изменения в процедуру выгрузки");
Возврат;
Иначе
НазначитьСчет(ВидСубконто1,Счет,1);
НазначитьСчет(ВидСубконто2,Счет,2);
КонецЕсли;

БухгалтерскиеИтоги.ИспользоватьСубконто(ВидСубконто1,,1,0);

СправочникПодразделений = СоздатьОбъект("Справочник.Подразделения");

Если СправочникПодразделений.ВыбратьЭлементы() = 0 Тогда
Сообщить("Отсутствуют элементы в справочнике подразделений!");
Возврат;
КонецЕсли;

Пока СправочникПодразделений.ПолучитьЭлемент() = 1 Цикл

Подразделение = СправочникПодразделений.ТекущийЭлемент();
Если (Подразделение.ПометкаУдаления() = 1) или (Подразделение.Код = "14") Тогда
Продолжить;
КонецЕсли;

Сообщить(Подразделение.Наименование);

БухгалтерскиеИтоги.ИспользоватьСубконто(ВидСубконто2,Подразделение,2,0);
Если БухгалтерскиеИтоги.ВыполнитьЗапрос(НачалоПериода,КонецПериода,Счет) = 0 Тогда
Возврат;
КонецЕсли;
Если БухгалтерскиеИтоги.ВыбратьСубконто() = 1 Тогда
Сообщить("Есть элементы");
Иначе
Сообщить("Нет элементов");
КонецЕсли;

Пока БухгалтерскиеИтоги.ПолучитьСубконто() = 1 Цикл
Сообщить(БухгалтерскиеИтоги.ПредставлениеСубконто() + ": " + БухгалтерскиеИтоги.ДО());
КонецЦикла;

КонецЦикла;

КонецПроцедуры

Результаты:

Подразделение 1
Есть элементы

Амортизация основных средств:0
АРЕНДА:210000
ГСМ и запчасти на автомобиль:10450
ИНКАССАЦИЯ:0
Налоги и сборы:0
ОБОРУДОВАНИЕ:0
ОПЛАТАТРУДА:273346.38
ОРГТЕХНИКА:4560
ОХРАНА:0
Потери товаров и технологические отходы:0
ПРОЧИЕ РАСХОДЫ:1320
Расходы за регистрацию автомобиля:0
Расходы на КОМАНДИРОВКИ:0
Расходы на бензин:0
Расходы на КАНЦЕЛЯРСКИЕ товары:15319.23
Расходы на мебель:0
Расходы на обслуживание автомобиля:0
Расходы на подготовку и переподготовку кадров:0
Расходы на ПОДПИСКУ, консультант:11979.5
Расходы на почтовые,телефонные, телеграфные ус,:0
Расходы на ремонт основных средств арендованных:0
РЕКЛАМА (по нормативу):11250
Транспортные расходы:0
УСЛУГИ СВЯЗИ:5264.08
ХОЗ. НУЖДЫ:7327.11

Подразделение2
Нет элементов
Подразделение3
Нет элементов
Подразделение4
Нет элементов
Подразделение5
Нет элементов

Последний раз редактировалось: Fianit; 04 Сен 2014, 13:07

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
фрагмент кода приведите и пример более наглядный:   Имеем то-то то-то и в таком количестве, хотелось бы получить вот это...

Оффлайн Fianit

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-09-04
  • Сайт: 
  • Профессия: Ученик 1С
фрагмент кода приведите и пример более наглядный:   Имеем то-то то-то и в таком количестве, хотелось бы получить вот это...
Да-да! Уже исправился: сначала случайно только шапку без кода отправил.
В итоге хочу получить то, что получилось по первому подразделению (см. результаты), только по всем в цикле. Цикл перебирает все подразделения, но для остальных кроме первого нет результатов в выборке.

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
почему здесь в параметре 0

Если БухгалтерскиеИтоги.ВыбратьСубконто(0) = 1 Тогда

а здесь вообще не указан?

Пока БухгалтерскиеИтоги.ПолучитьСубконто() = 1 Цикл

мне кажется с этим проблемы.

Вы же только одно субконто используете, значит в параметре должна стоять "1"

примерно так:
ВыбратьСубконто(1)
и ПолучитьСубконто(1)

Оффлайн Fianit

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-09-04
  • Сайт: 
  • Профессия: Ученик 1С
Я пробовал и так, и так: результат одинаков. Вообще, субконто два: одно жестко фиксированное (Подразделения, Субконто2), второе - разворачивается (Субконто1)
Добавлено: 04 Сен 2014, 13:30

Прошу прощения: где получить не ставил 1. Сейчас попробую
Добавлено: 04 Сен 2014, 14:00

почему здесь в параметре 0

Если БухгалтерскиеИтоги.ВыбратьСубконто(0) = 1 Тогда

а здесь вообще не указан?

Пока БухгалтерскиеИтоги.ПолучитьСубконто() = 1 Цикл

мне кажется с этим проблемы.

Вы же только одно субконто используете, значит в параметре должна стоять "1"

примерно так:
ВыбратьСубконто(1)
и ПолучитьСубконто(1)

Пробовал подставлять "0", "1", и "". Результат одинаковый. При подстановке "2" говорит, что я выполз за диапазон субконто, что не удивительно, в принципе.

Последний раз редактировалось: Fianit; 04 Сен 2014, 14:00. Причина: Объединение сообщений

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
При подстановке "2" говорит

естественно. у вас же всего один вызов ИспользоватьСубконто().

а может у вас просто по второму подразделению ничего и не двигалось? вы уверены что должны быть итоги по нему? попробуйте без цикла получить значению по подразделению 2


Оффлайн Fianit

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-09-04
  • Сайт: 
  • Профессия: Ученик 1С
При подстановке "2" говорит

естественно. у вас же всего один вызов ИспользоватьСубконто().

а может у вас просто по второму подразделению ничего и не двигалось? вы уверены что должны быть итоги по нему? попробуйте без цикла получить значению по подразделению 2

У меня 2 вызова ИспользоватьСубконто():
БухгалтерскиеИтоги.ИспользоватьСубконто(ВидСубконто1,,1,0);
...
БухгалтерскиеИтоги.ИспользоватьСубконто(ВидСубконто2,Подразделение,2,0);

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
БухгалтерскиеИтоги.ИспользоватьСубконто(ВидСубконто1,,1,0);

не увидел это..

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

БухгалтерскиеИтоги.ВыбратьСубконто(1)
Пока БухгалтерскиеИтоги.ПолучитьСубконто(1) = 1 Цикл
  БухгалтерскиеИтоги.ВыбратьСубконто(2);
  Пока БухгалтерскиеИтоги.ПолучитьСубконто(2) = 1 Цикл
   // и вот здесь уже рассчитывать ваши суммы для подразделений
  КонецЦикла;
КонецЦикла;

Оффлайн Fianit

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-09-04
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо! Уже начал думать в этом направлении, после вашего вопроса. Сейчас отредактирую и отпишусь!
Добавлено: 04 Сен 2014, 17:11

Получилось. Я во втором субконо (подразделения) поставил разворачивать и сделал два цикла, как вы и предлагали. Ещё раз большое спасибо!

Последний раз редактировалось: Fianit; 04 Сен 2014, 17:11. Причина: Объединение сообщений


Теги:
 


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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal