Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Составьте запрос по регистру бухгалтерии
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
logist
Кому не сложно, составьте пожалуйста запрос (я понимаю что это не сложно, не пинайте) smile.gif
Типовая "Бухгалтерия". Есть параметры:
- ДатаНачала
- ДатаКонца
- Организация
- СчетБУ (Список значений, тип: ПланСчетовСсылка.Хозрасчетный).

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

Спасибо icon_beer17.gif
awp
Цитата(logist @ 23.02.11, 22:52) необходимо зарегистрироваться для просмотра ссылки
Кому не сложно, составьте пожалуйста запрос (я понимаю что это не сложно, не пинайте) smile.gif
Типовая "Бухгалтерия". Есть параметры:
- ДатаНачала
- ДатаКонца
- Организация
- СчетБУ (Список значений, тип: ПланСчетовСсылка.Хозрасчетный).

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

Спасибо icon_beer17.gif



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

    Пока Ит.ПолучитьСчет() = 1 Цикл
        Таб.ВывестиСекцию("Строка");    
    КонецЦикла;                        

    Таб.ВывестиСекцию("Подвал");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать","");
КонецПроцедуры

Процедура ПриОткрытии()
    ВыбНачПериода = НачалоПериодаБИ();
    ВыбКонПериода = КонецПериодаБИ();
КонецПроцедуры
Vofka
ВЫБРАТЬ
    ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаОборот,
    ХозрасчетныйОборотыДтКт.ВалютнаяСуммаОборотКт КАК ВалютнаяСуммаОборотКт
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт В (&СписокСчетов), , , , ) КАК ХозрасчетныйОборотыДтКт
ГДЕ
    ХозрасчетныйОборотыДтКт.Организация = &Организация
awp
необходимо зарегистрироваться для просмотра ссылки
awp
Автар не указал версию 1С! 64000000.gif
icon_cuss.gif
Vofka
Цитата(awp @ 24.02.11, 9:22) необходимо зарегистрироваться для просмотра ссылки
Автар не указал версию 1С! 64000000.gif
icon_cuss.gif

Может автору для обоих версий надо wink.gif
logist
Цитата(awp @ 24.02.11, 8:22) необходимо зарегистрироваться для просмотра ссылки
Автар не указал версию 1С! 64000000.gif
icon_cuss.gif

Прошу прощения, сам спалился smile.gif мне для 8,2
Всем откликнувшимся спасибо! Vofka, спасибо в двойне, это именно то что надо!
Zaval
Цитата(awp @ 24.02.11, 9:22) необходимо зарегистрироваться для просмотра ссылки
Автар не указал версию 1С! 64000000.gif
icon_cuss.gif


ПланСчетовСсылка? В 7.7? smile.gif
Fynjy
Цитата(logist @ 24.02.11, 9:41) необходимо зарегистрироваться для просмотра ссылки
Прошу прощения, сам спалился smile.gif мне для 8,2
Всем откликнувшимся спасибо! Vofka, спасибо в двойне, это именно то что надо!

Так правильнее
ВЫБРАТЬ
    ХозрасчетныйОбороты.СуммаОборотДт
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Период, Счет В (&СписокСчетов), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты
Vofka
Цитата
Так правильнее

Обосновать можно?
Единственное что оптимальней, по моему, - это организация задана в параметрах таблицы. Я просто с утра, с просоня, писал, упустил этот момент. В моем случае можно аналогично написать:
ВЫБРАТЬ
    ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаОборот
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт В (&СписокСчетов), , , , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
Ziam
Этот вариант лучше (который в скобочках). Ибо тогда ограничения накладываются сразу при постороении временной таблицы запроса. А при варианте с условием ГДЕ, то (вроде бы) строится временная таблица, а потом очищается от лишнего, что не подходит под условие. Имеем в первом случае результат построен за один обход, во втором за 2 (построение потом чистка). Разница во времени выполнения запроса, результат тот же.
Vofka
Ziam, я ж написал:
Цитата
Единственное что оптимальней, по моему, - это организация задана в параметрах таблицы. Я просто с утра, с просоня, писал, упустил этот момент. В моем случае можно аналогично написать:


В чём разница:
ВЫБРАТЬ
    ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаОборот
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт В (&СписокСчетов), , , , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт


и

ВЫБРАТЬ
    ХозрасчетныйОбороты.СуммаОборотДт
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Период, Счет В (&СписокСчетов), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты


?
Fynjy
СуммаОборот = СуммаОборотДт - СуммаОборотКт
А в (0) просьба дебетового оборота
Ziam
Ziam, я ж написал:
Сорри, с этими новыми глюками от АББИ уже к вечеру ничерта не соображаешь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.