|
Как получить оборот по счету в целом? | ☑ | ||
---|---|---|---|---|
0
mdv92
04.11.11
✎
16:22
|
мНачДата = НачалоГода(Дата);
мКонДата = КонецМесяца (Дата); мБухИтоги = Обработки.БухгалтерскиеИтоги.Создать(); мБухИтоги.РассчитатьИтоги("Хозрасчетный", "ОборотКт", "Сумма", "Счет", мНачДата, мКонДата, ,"90.01.1", , , , , , ); СуммаВыручки = мБухИтоги.ПолучитьИтог("ОборотКт", "Счет", "90.01.1"); Написала для 8!! помогите, кто чем может! |
|||
1
Живой Ископаемый
04.11.11
✎
16:25
|
для в8 ответ один - запросом.
|
|||
2
mdv92
04.11.11
✎
16:26
|
Запрос86 = Новый Запрос;
Запрос86.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.Счет, | ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКт |ИЗ |РегистрБухгалтерии.Хозрасчетный.Обороты(&НачГраница, &КонГраница, Период, Счет = &Счет, ,) КАК ХозрасчетныйОбороты |"; Запрос86.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.НайтиПоКоду("86.02")); Запрос86.УстановитьПараметр("НачГраница", НачДата); Запрос86.УстановитьПараметр("КонГраница", КонДата); РезультатЗапроса = Запрос86.Выполнить().Выгрузить(); СуммаПожертвований=РезультатЗапроса[0].СуммаОборотКт; |
|||
3
mdv92
04.11.11
✎
16:26
|
Так правильно, или криво?
|
|||
4
Живой Ископаемый
04.11.11
✎
16:26
|
цитат из посоветованной книжки Габца:
i Как получить обороты по счету? Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.СуммаОборотДт, | ХозрасчетныйОбороты.СуммаОборотКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет = &Счет, , , , ) КАК ХозрасчетныйОбороты"; Запрос.УстановитьПараметр("НачПериода", НачПериода); Запрос.УстановитьПараметр("КонПериода", КонПериода); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); РезультатЗапроса = Запрос.Выполнить(); |
|||
5
mdv92
04.11.11
✎
16:27
|
А через обработку? Что я не так написала? Мне так больше нравится!
|
|||
6
Живой Ископаемый
04.11.11
✎
16:27
|
Правильно
|
|||
7
mdv92
04.11.11
✎
16:27
|
(4) Ну так я так и сделала!
|
|||
8
GROOVY
04.11.11
✎
16:28
|
Счет В ИЕРАРХИИ(&Счет)
|
|||
9
Живой Ископаемый
04.11.11
✎
16:28
|
2(5) всем плевать что вам больше нравится.. я например не знаю что эта обработка делает.. это в какоой-то типовой? во всех? все эту обработку знают и знаю как она работает?
|
|||
10
Живой Ископаемый
04.11.11
✎
16:31
|
Если хотите через обработку, то не поленитесь прочитать фунцию которая сделает то что вы хотите:
// Функция позволяет рассчитать и получить требуемый оборот в соответствии с указанными фильтрами. // При этом не требуется каких-либо предварительных расчетов итогов. // // Параметры: // // РегистрБухгалтерии - ОбъектМетаданных или Строка или Число - регистр, имя или индекс регистра // бухгалтерии, для которого рассчитывается оборот. // Если не указан, то используется первый из регистров бухгалтерии, (в порядке, // как они указаны в метаданных). // // ИмяРесурса - Строка - имя ресурса регистра бухгалтерии, по которому надо получить оборот. // // ДтКт - Строка - какой оборот требуется получить. // Возможные значения: // Дт - будет рассчитан дебетовый оборот. // Кт - будет рассчитан кредитовый оборот. // Пустая строка - будет рассчитан дебетовый минус кредитовый оборот. // // НачалоПериода - Дата, МоментВремени, Граница - начало периода, за который рассчитывается оборот. // Если параметр не задан, или передано пустое значение, оборот будет рассчитываться // с самого первого движения. // // КонецПериода - Дата, МоментВремени, Граница - конец периода, за который рассчитывается оборот. // Если параметр не задан, или передано пустое значение, оборот будет рассчитываться // по самое последнее движение. // // Счета - Строка, ПланСчетовСсылка, Массив значений типа ПланСчетовСсылка - счета, // по которым следует ограничить расчет итогов - могут быть переданы в функцию // или в виде строки, в которой коды счетов перечислены через запятую, или ввиде // ссылки на счет, или в виде массива ссылок. Если указан счет-группа - будут // включены все иерархически подчиненные счета. // // ВидыСубконто - ПланВидовХарактеристикСсылка, Массив значений типа ПланВидовХарактеристикСсылка - // задает субконто, по которым рассчитываются итоги. // См. описание параметра "Субконто" таблиц запросов регистров бухгалтерии. // // КорСчета - Строка, ПланСчетовСсылка, Массив значений типа ПланСчетовСсылка - счета, по // корреспонденции с которыми следует ограничить расчет оборотов - могут быть // переданы в процедуруили в виде строки, в которой коды счетов перечислены через // запятую, или ввидессылки на счет, или в виде массива ссылок. Если указан счет- // группа - будут включены все иерархически подчиненные счета. // // ВидыКорСубконто - ПланВидовХарактеристикСсылка, Массив значений типа ПланВидовХарактеристикСсылка. // задает субконто по корреспонденции с которыми следует ограничить расчет оборотов. // См. описание параметра "Кор. субконто" таблицы запросов "Обороты" регистров бухгалтерии. // // Фильтры - допускается два варианта синтаксиса: Строка или Структура. // Если передана Строка: она должна содержать список имен полей, // разделенных запятыми. В этом случае значения полей должны быть // указаны в параметрах Значение1, Значение2 и. т. д. // Если передана Структура, она должна содержать элементы, в которых имя поля // указано в качестве ключа, а значение поля - в качестве значения элемента. // В качестве имен полей структуры можно указывать: // <ИмяИзмерения> - имена измерений регистра, как они заданы в метаданных, // Субконто1, Субконто2, и т.д., до макс. количества субконто. // В качестве значений элементов структуры можно указывать конкретные значения // измерений и субконто, а так же массивы или списки таких значений. // При расчете итоги будут отфильтрованы по указанным значениям. // Если в качестве значения указывается группа (справочника), отбираются все // подчиненные элементы. // // ЗначениеN - Любого типа - значения фильтров. // Параметры используются в случае, если фильтры переданы в функцию в // параметре Фильтры в виде строки. Количество и порядок значений фильтров // должны соответствовать количеству и порядку имен полей. // // Возвращаемое значение: // // Число - величина требуемого бухгалтерского итога. // Функция Оборот (Знач РегистрБухгалтерии = 0, ИмяРесурса, ДтКт = "", НачалоПериода = Неопределено, КонецПериода = Неопределено, Знач Счета = Неопределено, ВидыСубконто = Неопределено, Знач КорСчета = Неопределено, ВидыКорСубконто = Неопределено, Знач Фильтры = Неопределено, Значение1 = Неопределено, Значение2 = Неопределено, Значение3 = Неопределено, Значение4 = Неопределено, Значение5 = Неопределено, Значение6 = Неопределено, Значение7 = Неопределено, Значение8 = Неопределено, Значение9 = Неопределено) Экспорт // Регистр бухгалтерии, для которго выполняется расчет. Если ТипЗнч(РегистрБухгалтерии) = Тип("ОбъектМетаданных") Тогда мРегистрБухгалтерии = РегистрБухгалтерии; Иначе Для Каждого ОбъектМетаданных Из Метаданные.РегистрыБухгалтерии Цикл Если ТипЗнч(РегистрБухгалтерии) = Тип("РегистрБухгалтерииМенеджер." + ОбъектМетаданных.Имя) Тогда РегистрБухгалтерии = ОбъектМетаданных.Имя; КонецЕсли; КонецЦикла; мРегистрБухгалтерии = Метаданные.РегистрыБухгалтерии[РегистрБухгалтерии]; КонецЕсли; // Параметр Фильтры преобразуется в структуру, если был передан в виде строки. Если ТипЗнч(Фильтры) <> Тип("Структура") Тогда Фильтры = Новый Структура(Фильтры, Значение1, Значение2, Значение3, Значение4, Значение5, Значение6, Значение7, Значение8, Значение9); КонецЕсли; // Прочие параметры расчета итогов. ИмяИтога = ИмяРесурса + "Оборот" + ДтКт; Счета = РазобратьКодыСчетов(мРегистрБухгалтерии.ПланСчетов, Счета); КорСчета = РазобратьКодыСчетов(мРегистрБухгалтерии.ПланСчетов, КорСчета); Запрос = Новый Запрос(); УсловиеПоСчету = ""; УсловиеПоКорСчету = ""; УсловиеПоПолям = ""; // Формируются параметры условий таблицы - источника запроса. СформироватьУсловиеПоСчету(Запрос, УсловиеПоСчету, Счета); СформироватьУсловиеПоСчету(Запрос, УсловиеПоКорСчету, КорСчета, "Кор"); СформироватьУсловиеПоПолям(Запрос, УсловиеПоПолям, Фильтры); ИсточникЗапроса = "РегистрБухгалтерии." + мРегистрБухгалтерии.Имя + ".Обороты(&НачалоПериода, &КонецПериода, , " + УсловиеПоСчету + ", &ВидыСубконто, " + УсловиеПоПолям + ", " + УсловиеПоКорСчету + ", &ВидыКорСубконто)"; Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); Запрос.УстановитьПараметр("КонецПериода", КонецПериода); Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто); Запрос.УстановитьПараметр("ВидыКорСубконто", ВидыКорСубконто); // Собирается полный текст запроса. Запрос.Текст = "ВЫБРАТЬ | СУММА(" + ИмяИтога + ") КАК " + ИмяИтога + " |ИЗ | " + ИсточникЗапроса; // Выполняется запрос, выборка позиционируется на единственную строку. Выборка = Запрос.Выполнить().Выбрать(); // Если выборка спозиционирована, возвращается итог. Если Выборка.Следующий() И Выборка[ИмяИтога] <> Null Тогда Возврат Выборка[ИмяИтога]; Иначе Возврат 0; КонецЕсли; КонецФункции |
|||
11
mdv92
04.11.11
✎
16:34
|
(8) Чем это лучше?
(10) Да я там уже час лазила с отладчиком! |
|||
12
Живой Ископаемый
04.11.11
✎
16:38
|
2(11) тогда продолжайте ею и дальше пользоваться раз она такая удобная и вам нравиться.. зачем тогда терзать форум?
|
|||
13
mdv92
04.11.11
✎
16:40
|
(12) Так она у меня не работает! Какой-то реквизит не так задала!
|
|||
14
GROOVY
04.11.11
✎
16:40
|
(11) То есть Вы разницы не видите вообще?! Тогда обработка Ваша Вам подойдет 100%!
|
|||
15
Живой Ископаемый
04.11.11
✎
16:41
|
2(13) тогда плохой - обработка или вы?
|
|||
16
Живой Ископаемый
04.11.11
✎
16:44
|
2(14) самое смешное что обработка строит точно такой же запрос, если судить по коментарию:
// Счета - Строка, ПланСчетовСсылка, Массив значений типа ПланСчетовСсылка - счета, // по которым следует ограничить расчет итогов - могут быть переданы в функцию // или в виде строки, в которой коды счетов перечислены через запятую, или ввиде // ссылки на счет, или в виде массива ссылок. Если указан счет-группа - будут // включены все иерархически подчиненные счета. |
|||
17
mdv92
04.11.11
✎
16:48
|
Счет В ИЕРАРХИИ(&Счет) или Счет &Счет - не понимаю, в ем разница, если мне нужен результат по конкретному счету.
|
|||
18
МишельЛагранж
04.11.11
✎
17:02
|
(0) всегда помните, что 7-шная логичность переделана в 8-ке "а я так хочу! - сказал 1с"
|
|||
19
mdv92
04.11.11
✎
18:30
|
Повторю свой вопрос в (17)!
|
|||
20
МишельЛагранж
04.11.11
✎
18:37
|
(19) иерархияпоявилась тоько в 8-ке - это значит, что подцепятся все субсчета данного счета (или все подчиненные элементы, если это справочник).
|
|||
21
mdv92
04.11.11
✎
18:52
|
(20) А зачем мне все, если нужен один?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |