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

Бухг.запрос (ОСВ)

Автор T11, 02 ноя 2011, 21:11

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

T11

Добрый вечер, коллеги! Нужна ваша помощь...
В бухгалтерском запросе "Оборотно-сальдовая ведомость по счетам взаиморасчетов" на форме отчета можно выбрать определенного контрагента, счет и по нему сформировать оборотно-сальдовую ведомость...
А если поле Контрагента пустое-необходимо в отчет вынести всех контрагентов, у которых Перечисление.ВидыКонтрагента----Организация или Частное лицо, а также этот контрагент не является плательщиком налогов. С этим и возникла проблема-не отбираются контрагенты по написанному условию...

///*******************************************
//{{БУХГАЛТЕРСКИЙ ЗАПРОС(Сформировать)

//Данный фрагмент построен конструктором.
//При повторном использовании конструктора, внесенные вручную изменения будут потеряны!!!

//{{ Схема номер 1

Процедура Сформировать()
Перем ЗначениеПодбора1;
Перем ЗначениеПодбора2;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьПланСчетов(ПланыСчетов.Основной);
Ит.ИспользоватьРазделительУчета(ВыбРазделительУчета);
спКонтрагентов = СоздатьОбъект("СписокЗначений");

Если ПустоеЗначение(ВыбСубконто1) = 1 Тогда
СпрКонтр=СоздатьОбъект("Справочник.Контрагенты");
ЗначениеПодбора1=СокрЛП(СпрКонтр.ВидКонтрагента);
ЗначениеПодбора2=СокрЛП(СпрКонтр.ПлательщикНалогов);
СпрКонтр.ВыбратьЭлементы();
Пока СпрКонтр.ПолучитьЭлемент()=1 Цикл
Если (ЗначениеПодбора1=Перечисление.ВидыКонтрагентов.Организация) или (ЗначениеПодбора1=Перечисление.ВидыКонтрагентов.ЧастноеЛицо) и (ЗначениеПодбора2=0) Тогда
спКонтрагентов.ДобавитьЗначение(СпрКонтр.ТекущийЭлемент();
КонецЕсли;
КонецЦикла;
Иначе
спКонтрагентов.ДобавитьЗначение(ВыбСубконто1);
КонецЕсли;
Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, спКонтрагентов, 1);
Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, ВыбСчет,,, 1,, "С");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Ит.ВыбратьСубконто(ВидыСубконто.Контрагенты);
Пока Ит.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
Таб.ВывестиСекцию("Субконто1");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать","");
КонецПроцедуры
//}}БУХГАЛТЕРСКИЙ ЗАПРОС
Процедура ПриОткрытии()
//{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА(Сформировать)
ВыбНачПериода = НачалоПериодаБИ();
ВыбКонПериода = КонецПериодаБИ();
//{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА
КонецПроцедуры

1Cnastroika

Цитата: T11 от 02 ноя 2011, 21:11
С этим и возникла проблема-не отбираются контрагенты по написанному условию...


Не понятен вопрос. Какой должен быть результат работы программы и как программа работает? Чтобы мне не разбирать весь текст программы, а только то что нужно.

Теги:
Рейтинг@Mail.ru

Поиск