Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0
а Типы Субконто для каждого счета - куда-с пихать? а НЕвалютные счета? а колонки для не-валютных сумм? а кол-во не нужно? а признак забалансового счета? а как со счетами-группами - не выводить вообще? а какое сальдо по оборотным субконто? (и как в резултате это всё в отчете выглядеть должно?) А так - копать в сторону бух.итогов. Для каждого встречаемого количества субконто - список счетов и отдельный бух.запрос по нему с "ИспользоватьСубконто" без параметров (счета очень желательно указывать в виде строки кодов а не СЗ - были там какие-то глюки). Собирать результаты макс.разворотов в ТЗ. Потом эту ТЗ сортануть и распечатать. прим.: "по разному количеству субконто" - потому что в результат бух.запроса не попадают данные по счету, на котором количество субконто меньше количества методов ИспользоватьСубконто(), примененных в настройке бух.запроса - даже на обходах номера субконто, которій (номер субконто) есть на єтих счетах - есть такое не очевидное обстоятельство
Группа: Местный
Сообщений: 522
Спасибо сказали: 70 раз
Рейтинг: 51.3
Цитата(Cthulhu @ 18.09.12, 16:19)
а Типы Субконто для каждого счета - куда-с пихать? а НЕвалютные счета? а колонки для не-валютных сумм? а кол-во не нужно? а признак забалансового счета? а как со счетами-группами - не выводить вообще? а какое сальдо по оборотным субконто? (и как в резултате это всё в отчете выглядеть должно?) А так - копать в сторону бух.итогов. Для каждого встречаемого количества субконто - список счетов и отдельный бух.запрос по нему с "ИспользоватьСубконто" без параметров (счета очень желательно указывать в виде строки кодов а не СЗ - были там какие-то глюки). Собирать результаты макс.разворотов в ТЗ. Потом эту ТЗ сортануть и распечатать. прим.: "по разному количеству субконто" - потому что в результат бух.запроса не попадают данные по счету, на котором количество субконто меньше количества методов ИспользоватьСубконто(), примененных в настройке бух.запроса - даже на обходах номера субконто, которій (номер субконто) есть на єтих счетах - есть такое не очевидное обстоятельство
Вы внимательно читали? Может я както неинформативно описал?
Если чегото нет - значит нет! Если по счету нет субконто3 то значет его нет и там пусто. Если нет валюты значит нет просто СКД если есть то к нему еще будет СКД(,2)
Идея с кучей Бух итогов както меня не радует . Может есть другой вариант?
Когда-то пришлось писать отчет под разные конфигурации. Количество субконто везде разные. вот фрагмент кода:
максСубконто = Ит.Счет.КоличествоСубконто(); ИтСубк.ИспользоватьСубконто(ВидыСубконто.Контрагенты); ш = 1; Пока ш <= максСубконто Цикл Если Ит.Счет.ВидСубконто(ш) <> ВидыСубконто.Контрагенты Тогда ИтСубк.ИспользоватьСубконто(Ит.Счет.ВидСубконто(ш)); КонецЕсли; ш = ш + 1; КонецЦикла; ИтСубк.ВыполнитьЗапрос(Дата1-1,Дата1-1,Ит.Счет); Если ИтСубк.ВыбратьСубконто(1) = 0 Тогда Сообщить("Нет итогов субконто по счету "+ Строка(Ит.Счет)); Продолжить; КонецЕсли; тек = 1; Пока тек > 0 Цикл Пока ИтСубк.ПолучитьСубконто(тек) = 1 Цикл Если тек = 1 Тогда Если тз.НайтиЗначение(ИтСубк.Субконто(тек),,"Субконто") = 1 Тогда тз.Дт = тз.Дт + ИтСубк.СКД(); тз.Кт = тз.Кт + ИтСубк.СКК(); Иначе тз.НоваяСтрока(); тз.Субконто = ИтСубк.Субконто(тек); тз.Счета = СоздатьОбъект("ТаблицаЗначений"); тз.Счета.НоваяКолонка("Счет","Счет"); тз.Счета.НоваяКолонка("Дт","Число",19,2); тз.Счета.НоваяКолонка("Кт","Число",19,2); тз.Дт = ИтСубк.СКД(); тз.Кт = ИтСубк.СКК(); КонецЕсли; КонецЕсли; Если тек < максСубконто Тогда тек=тек+1; Если ИтСубк.ВыбратьСубконто(тек) = 0 Тогда Сообщить("Не выбран субконто уровня "+Строка(тек)); КонецЕсли; Иначе ИтСубк.ВыбратьСчета(); Пока ИтСубк.ПолучитьСчет() = 1 Цикл Если тз.Счета.НайтиЗначение(ИтСубк.Счет,,"Счет") = 1 Тогда тз.Счета.Дт = тз.Счета.Дт + ИтСубк.СКД(); тз.Счета.Кт = тз.Счета.Кт + ИтСубк.СКК(); Иначе тз.Счета.НоваяСтрока(); тз.Счета.Счет = ИтСубк.Счет; тз.Счета.Дт = ИтСубк.СКД(); тз.Счета.Кт = ИтСубк.СКК(); КонецЕсли КонецЦикла; КонецЕсли; КонецЦикла; тек = тек-1; КонецЦикла; КонецЦикла;
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник. ЗиУП
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0
Цитата(awp @ 18.09.12, 15:32)
Вы внимательно читали? Может я както неинформативно описал?
особенно слова " отчет по всем счетам(субсчетам) и субконто развернуто" и "примерно". да, неинформативно. а потом и с излишними брызгами - что зря, можно было просто ответить на уточняющие вопросы. конечно, есть другой. универсальный. "пригласите специалиста" (с).
Группа: Местный
Сообщений: 522
Спасибо сказали: 70 раз
Рейтинг: 51.3
Цитата(Cthulhu @ 18.09.12, 16:48)
особенно слова " отчет по всем счетам(субсчетам) и субконто развернуто" и "примерно". да, неинформативно. а потом и с излишними брызгами - что зря, можно было просто ответить на уточняющие вопросы. конечно, есть другой. универсальный. "пригласите специалиста" (с).
Цитата
особенно слова " отчет по всем счетам(субсчетам) и субконто развернуто" и "примерно".
Както по другому это можно понять? к томуже шапка была описана! смотриТе первый пост.
Цитата(Cthulhu @ 18.09.12, 16:48)
а потом и с излишними брызгами - что зря, можно было просто ответить на уточняющие вопросы.
Если Вам показалось или повиделось БРЫЗГИ - прошу прошения!
а Типы Субконто для каждого счета - куда-с пихать? неважно! а НЕвалютные счета? тудаже - только поле Валюта и сумма по валюте пустые а колонки для не-валютных сумм? я же написал СКД() СКК() а кол-во не нужно? Нет раз не указал а признак забалансового счета? неважно ! а как со счетами-группами - не выводить вообще? уточняюще было написано по субсчетам а какое сальдо по оборотным субконто? (и как в резултате это всё в отчете выглядеть должно?) СКД()
Мне кажется что в первом посте я все информативно написал. Вы же ответили кучей вопросов причем не существенных и кучей вставок которые я так и не вкурил.
конечно, есть другой. универсальный. "пригласите специалиста" (с).
Я готов оплатить Ваши услуги! Вы специалист?
Цитата(mister-x @ 18.09.12, 17:07)
фільтри по н-субконто і іншим характеристикам рахунків мають бути присутні на формі?
нет Мне не нужен готовій отчет - просто подскажите куда копать
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0
// Модуль Формы внешней обработки // На Форме должны наличествовать: // - ТаблицаЗначений с наименованием ПечТЗ; // - Кнопка с формулой "Сформировать()" (без кавычек)
//============================================================================== Процедура ДобавитьСтрокуДанныхПоТекРазвороту(тБухИт,тПечТЗ,тКвоСубконто,тВалюта="") тПечТЗ.НоваяСтрока(); тПечТЗ.ПолучитьСтрокуПоНомеру(тПечТЗ.КоличествоСтрок()); тПечТЗ.Счет=тБухит.Счет; Для СчСубконто=1 По тКвоСубконто Цикл тПечТЗ.УстановитьЗначение(тПечТЗ.НомерСтроки,"Субконто"+СчСубконто,тБухИт.Субконто(СчСубконто)) КонецЦикла; тПечТЗ.СуммаДт=тБухит.СКД("С"); тПечТЗ.СуммаКт=тБухит.СКК("С"); тПечТЗ.Валюта=тВалюта; Если ПустоеЗначение(тВалюта)<>1 Тогда тПечТЗ.ВалСуммаДт=тБухИт.СКД("В"); тПечТЗ.ВалСуммаКт=тБухИт.СКК("В"); КонецЕсли; КонецПроцедуры //ДобавитьСтрокуДанныхПоТекРазвороту //------------------------------------------------------------------------------ Процедура ДоРазвернутьПоСубконто(тБухит,тКвоСубконто,тПечТЗ,ТекВыбСубконто=1) Если ТекВыбСубконто<=тКвоСубконто Тогда тБухит.ВыбратьСубконто(); Пока тБухит.ПолучитьСубконто()<>0 Цикл ДоРазвернутьПоСубконто(тБухит,тКвоСубконто,тПечТЗ,ТекВыбСубконто+1) КонецЦикла; ИначеЕсли тБухИт.Счет.Валютный<>0 Тогда тБухит.ВыбратьВалюты(); Пока тБухит.ПолучитьВалюту()<>0 Цикл ДобавитьСтрокуДанныхПоТекРазвороту(тБухИт,тПечТЗ,тКвоСубконто,тБухИт.Валюта) КонецЦикла; Иначе ДобавитьСтрокуДанныхПоТекРазвороту(тБухИт,тПечТЗ,тКвоСубконто) КонецЕсли; КонецПроцедуры //ДоРазвернутьПоСубконто //------------------------------------------------------------------------------ Процедура Сформировать() Перем тБухИт,счСубконто; тБухит=СоздатьОбъект("БухгалтерскиеИтоги"); Для счСубконто=1 По МаксКвоСубконто Цикл тБухИт.ИспользоватьСубконто(,,1,0) КонецЦикла; тБухит.ВключатьСубсчета(-1); тБухит.ВыполнитьЗапрос(,ВыбДата,,,,"СВ",,3); тБухИт.ВыбратьСчета(); Пока тБухИт.ПолучитьСчет()<>0 Цикл ДоРазвернутьПоСубконто(тБухИт,тБухит.Счет.КоличествоСубконто(),ПечТЗ) КонецЦикла; Если ПечТЗ.КоличествоСтрок()<>0 Тогда ПечТЗ.Сортировать("+Счет,"+тхтКолСубконто,1); ПечТЗ.ТекущаяСтрока(1); КонецЕсли; КонецПроцедуры //Сформировать //==============================================================================
Группа: Местный
Сообщений: 522
Спасибо сказали: 70 раз
Рейтинг: 51.3
Красивый код!
Цитата(Cthulhu @ 18.09.12, 19:51)
Процедура ДоРазвернутьПоСубконто(тБухит,тКвоСубконто,тПечТЗ,ТекВыбСубконто=1) Если ТекВыбСубконто<=тКвоСубконто Тогда тБухит.ВыбратьСубконто(); Пока тБухит.ПолучитьСубконто()<>0 Цикл ДоРазвернутьПоСубконто(тБухит,тКвоСубконто,тПечТЗ,ТекВыбСубконто+1) КонецЦикла; ИначеЕсли тБухИт.Счет.Валютный<>0 Тогда тБухит.ВыбратьВалюты(); Пока тБухит.ПолучитьВалюту()<>0 Цикл ДобавитьСтрокуДанныхПоТекРазвороту(тБухИт,тПечТЗ,тКвоСубконто,тБухИт.Валюта) КонецЦикла; Иначе ДобавитьСтрокуДанныхПоТекРазвороту(тБухИт,тПечТЗ,тКвоСубконто) КонецЕсли; КонецПроцедуры //ДоРазвернутьПоСубконто
Огромное спасибо! очень помогли.
Мне даже в голову не приходило попробовать использовать
ИспользоватьСубконто
без указания вида субконто. Для интереса запустил поиск по всей конфе - нет подобного.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!