Консультация № 136781
14.05.2008, 12:43
0.00 руб.
0 1 1
Добрый день. Есть отчет по должникам. Сделан на основе "Оборотно-сальдовой по счету". Код в приложении. Выборка, как вы видите-по субконто. В представлении субконто "Договор" есть ДатаДок,НомерДок и УсловияОплаты. А вот в самом договоре есть еще и срок отсрочки, если договор "Отсрочка" и фио менеджера. Как можно вывести эти данные в отдельные колонки отчета?
И еще. Не работает Расшифровка. Выдает - "Не выбран счет". Что я сделал не правильно?
1С 7.7 для украины

Приложение:
//===========================================Перем Расшифровка;Перем Счет; Перем Ит;//*******************************************Процедура ПриОткрытии() Счет = "361"; КонДата=ТекущаяДата(); НачДата=НачМесяца(ТекущаяДата()); КонецПроцедуры //===========================================Процедура Сформировать() Т=СоздатьОбъект("Таблица"); Т.ИсходнаяТаблица("Таблица"); Расшифровка = СоздатьОбъект("СписокЗначений"); РАсшифровка.Установить("Отчет","КарточкаСчета"); Расшифровка.Установить("ДатаНач", НачДата); Расшифровка.Установить("ДатаКон", КонДата); Расшифровка.Установить("Счет", Счет); ВидСубконто1 = ВидыСубконто.ЗначениеПоИдентификатору("Договора"); ВидСубконто2 = ВидыСубконто.ЗначениеПоИдентификатору("Контрагенты"); Ит=СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидСубконто1,,1,); Ит.ИспользоватьСубконто(ВидСубконто2,,1,); Ит.ВыполнитьЗапрос(НачДата,КонДата,Счет); Ит.ВыбратьСубконто(); Т.ВывестиСекцию("Секция_2"); Т.ВывестиСекцию("Секция_3"); Пока Ит.ПолучитьСубконто() > 0 Цикл Если Ит.СКД() <=500 Тогда Продолжить; КонецЕсли; //Если Прав(Ит.ПредставлениеСубконто(1),8)<> "Отсрочка" Тогда // Продолжить; //КонецЕсли; Т.ВывестиСекцию("Секция_1"); КонецЦикла; Т.ВывестиСекцию("Секция_4"); Т.ТолькоПросмотр(1); Т.Показать("Отчет по должникам"); КонецПроцедуры

Обсуждение

Неизвестный
14.05.2008, 18:06
общий
это ответ
Здравствуйте, stahh!

Во-первых, вместо Ит.ИспользоватьСубконто(ВидСубконто1) можно сразу так: Ит.ИспоьзоватьСубконто(ВидыСубконто.Договора).
Во-вторых, зачем 2 раза используете метод ИспользоватьСубконто(), если выборку делаете только по одному?
В-третьих, в выборке доступ к значению субконто выглядит так: Ит.Субконто(НомерСубконто). Т.е. в Вашем случае будет примерно так: см. приложение
В-четвертых, чтобы работала расшифровка, напишите не Счет="361", а Счет=СчетПоКоду("361"). Это необходимо потому, как в методе ВыполнитьЗапрос() можно использовать Счет и как строковое значение, и как значение типа "Счет", а вот в отчете КарточкаСчета только как значение типа "Счет", потому как в нем (отчете) Счет - это реквизит формы типа "Счет", и строковое значение ему присвоить нельзя.

Удачи


Приложение:
....Если Ит.Субконто(1).Вид() <> "Отсрочка" Тогда Продолжить;КонецЕсли;СрокОтсрочки = Ит.Субконто(1).СрокОтсрочки;ФИО = Ит.Субконто(1).ФИО;//в таблице выводите эти переменныеТ.ВывестиСекцию("Секция_1");....
Форма ответа