Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> тчет, в котором будут выводи Написать отчет, в котором будут выводится остатки по всем балансовым счетатся остатки по всем балансовым счетам (из плана          
Павлов Сергей 48 Подменю пользователя
сообщение 20.02.10, 16:55
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Помогите написать процедуру! Написать отчет, в котором будут выводится остатки по всем балансовым счетам (из плана счетов), у которых есть ненулевое сальдо на заданную дату (задается в форме).

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

Процедура ПриОткрытии()
//это чтобы не вводить каждый раз даты
ВыбНачПериода = НачалоПериодаБИ();
ВыбКонПериода = КонецПериодаБИ();
КонецПроцедуры





Страниц: [1] Ответ | Уведомлять | Добавить голосование | Отправить эту тему | Печать

zetovich Подменю пользователя
сообщение 20.02.10, 17:02
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

закуриваем 2 попиросу...открываем отчет "Оборотно сальдовая ведомость"

Павлов Сергей 48 Подменю пользователя
сообщение 20.02.10, 17:18
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(zetovich @ 20.02.10, 19:02) *
закуриваем 2 попиросу...открываем отчет "Оборотно сальдовая ведомость"



Ага..нужно спрограммировать..так как он сейчас выводить оборот сальдо...а нужно остатки по всем балансовым счетам (из плана счетов), у которых есть ненулевое сальдо.Что добавить и что изщминить чтобы оно подходило к условию задачи?

Ardi Подменю пользователя
сообщение 20.02.10, 21:53
Сообщение #4

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Магические слова "Если ... Тогда ... КонецЕсли;" помогут 100%


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Спасибо сказали: Павлов Сергей 48,

Павлов Сергей 48 Подменю пользователя
сообщение 21.02.10, 18:08
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Ardi @ 20.02.10, 23:53) *
Магические слова "Если ... Тогда ... КонецЕсли;" помогут 100%

Неподскажите как его правильно записать и в какое место его вставить?!Заранеее спасибо))))

sarius Подменю пользователя
сообщение 21.02.10, 19:13
Сообщение #6

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 219
Из: Киев
Спасибо сказали: 36 раз
Рейтинг: 0

Так как отбор субконто как я вижу ни к чему - то запрос нужно немного... переделать..
Например, это будет вот так выглядеть
//*******************************************
Процедура Сформировать()
    Таб = СоздатьОбъект("Таблица");                 // Получаем ссылку на объект типа Таблица
    Таб.ИсходнаяТаблица("Таблица");                // Устанавливаем таблицу для вывода
    Таб.ВывестиСекцию("Шапка");                    // Выводим заголовок отчета
    
    // Готовим итоговые суммы
    ИтогСНД = 0;                                    
    ИтогСНК = 0;    
    ИтогСКД = 0;    
    ИтогСКК = 0;    
    ИтогДО  = 0;    
    ИтогКО  = 0;    
    
    Итоги = СоздатьОбъект("БухгалтерскиеИтоги");     // Получаем ссылку на бухгалтерские итоги
    Итоги.ПериодД(НачДата, КонДата);                // устанавливаем произвольный период - с НачДата по КонДата
    Счета = СоздатьОбъект("Счет");                 // получаем ссылку на список счетов
    Счета.ВыбратьСчета();                         // открываем выборку для перебора
    Пока Счета.ПолучитьСчет()=1 Цикл                 // перебираем счета
        Счет = Счета.ТекущийСчет();                 // получаем ссылку на счет в выборке
    // теперь можно отсеять ненужные нам счета
    // например, не будем проверять забалансовые счета и группы
        Если (Счет.Забалансовый = 1)ИЛИ(Счет.ЭтоГруппа()=1) Тогда
            Продолжить;
        КонецЕсли;
    // получаем остатки и обороты счета
        СНД = Итоги.СНД(Счет);
        СНК = Итоги.СНК(Счет);
        СКД = Итоги.СКД(Счет);
        СКК = Итоги.СКК(Счет);
        ДО  = Итоги.ДО(Счет);
        КО  = Итоги.КО(Счет);
        
        Если (СНД<>0)ИЛИ(СНК<>0)ИЛИ(СКД<>0)ИЛИ(СКК<>0)ИЛИ(ДО<>0)ИЛИ(КО<>0) Тогда
            Таб.ВывестиСекцию("Строка");            // выводим результат в секцию Строка
    // наращиваем итоги
            ИтогСНД = ИтогСНД +СНД;
            ИтогСНК = ИтогСНК +СНК;
            ИтогСКД = ИтогСКД +СКД;
            ИтогСКД = ИтогСКК +СКК;
            ИтогДО  = ИтогДО  +ДО;
            ИтогКО  = ИтогКО  +КО;
        КонецЕсли;
    КонецЦикла;
    
    Таб.ВывестиСекцию("Подвал");                    // Выводим итоговую секцию таблицы
    Таб.ТолькоПросмотр(1);                        // устанавливаем режим просмотра
    Таб.Опции(0,0,0,0);                            // устанавливаем опции вывода таблицы на экран
    Таб.Показать("Отчет");                        // показываем таблицу на экране с заголовком "Отчет"
КонецПроцедуры

Процедура ПриОткрытии()
//это чтобы не вводить каждый раз даты
НачДата = НачалоПериодаБИ();
КонДата = КонецПериодаБИ();
КонецПроцедуры


Signature
Возьму интерна (Киев)

Спасибо сказали: Павлов Сергей 48,

Павлов Сергей 48 Подменю пользователя
сообщение 21.02.10, 20:31
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(sarius @ 21.02.10, 21:13) *
Так как отбор субконто как я вижу ни к чему - то запрос нужно немного... переделать..
Например, это будет вот так выглядеть
//*******************************************
Процедура Сформировать()
    Таб = СоздатьОбъект("Таблица");                 // Получаем ссылку на объект типа Таблица
    Таб.ИсходнаяТаблица("Таблица");                // Устанавливаем таблицу для вывода
    Таб.ВывестиСекцию("Шапка");                    // Выводим заголовок отчета
    
    // Готовим итоговые суммы
    ИтогСНД = 0;                                    
    ИтогСНК = 0;    
    ИтогСКД = 0;    
    ИтогСКК = 0;    
    ИтогДО  = 0;    
    ИтогКО  = 0;    
    
    Итоги = СоздатьОбъект("БухгалтерскиеИтоги");     // Получаем ссылку на бухгалтерские итоги
    Итоги.ПериодД(НачДата, КонДата);                // устанавливаем произвольный период - с НачДата по КонДата
    Счета = СоздатьОбъект("Счет");                 // получаем ссылку на список счетов
    Счета.ВыбратьСчета();                         // открываем выборку для перебора
    Пока Счета.ПолучитьСчет()=1 Цикл                 // перебираем счета
        Счет = Счета.ТекущийСчет();                 // получаем ссылку на счет в выборке
    // теперь можно отсеять ненужные нам счета
    // например, не будем проверять забалансовые счета и группы
        Если (Счет.Забалансовый = 1)ИЛИ(Счет.ЭтоГруппа()=1) Тогда
            Продолжить;
        КонецЕсли;
    // получаем остатки и обороты счета
        СНД = Итоги.СНД(Счет);
        СНК = Итоги.СНК(Счет);
        СКД = Итоги.СКД(Счет);
        СКК = Итоги.СКК(Счет);
        ДО  = Итоги.ДО(Счет);
        КО  = Итоги.КО(Счет);
        
        Если (СНД<>0)ИЛИ(СНК<>0)ИЛИ(СКД<>0)ИЛИ(СКК<>0)ИЛИ(ДО<>0)ИЛИ(КО<>0) Тогда
            Таб.ВывестиСекцию("Строка");            // выводим результат в секцию Строка
    // наращиваем итоги
            ИтогСНД = ИтогСНД +СНД;
            ИтогСНК = ИтогСНК +СНК;
            ИтогСКД = ИтогСКД +СКД;
            ИтогСКД = ИтогСКК +СКК;
            ИтогДО  = ИтогДО  +ДО;
            ИтогКО  = ИтогКО  +КО;
        КонецЕсли;
    КонецЦикла;
    
    Таб.ВывестиСекцию("Подвал");                    // Выводим итоговую секцию таблицы
    Таб.ТолькоПросмотр(1);                        // устанавливаем режим просмотра
    Таб.Опции(0,0,0,0);                            // устанавливаем опции вывода таблицы на экран
    Таб.Показать("Отчет");                        // показываем таблицу на экране с заголовком "Отчет"
КонецПроцедуры

Процедура ПриОткрытии()
//это чтобы не вводить каждый раз даты
НачДата = НачалоПериодаБИ();
КонДата = КонецПериодаБИ();
КонецПроцедуры

Огромное человеческое спасибо!!!Не подскажите как должна выглядеть таблица вывода?!

sarius Подменю пользователя
сообщение 21.02.10, 20:43
Сообщение #8

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 219
Из: Киев
Спасибо сказали: 36 раз
Рейтинг: 0

Лови ссылку на отчетик
[необходимо зарегистрироваться для просмотра ссылки]


Signature
Возьму интерна (Киев)

Спасибо сказали: malexmen, Павлов Сергей 48,

dobraleks Подменю пользователя
сообщение 21.02.10, 22:00
Сообщение #9

Говорящий
Иконка группы
Группа: Местный
Сообщений: 70
Спасибо сказали: 17 раз
Рейтинг: 0

Цитата(Павлов Сергей 48 @ 20.02.10, 17:55) *
Помогите написать процедуру! ....

Сергей .. и не только ... Берите пример с malexmen 5 пост (http://pro1c.org.ua/index.php?showtopic=1355&st=0&p=7933&#entry7933)
Ему помогли , а в ответ он тоже посчитал нужным выложить готовый отчет, может еще кому то пригодиться..


Пи/СИ.. Пока я кушал, уже отчетик выложили. маленько опоздал.. ну ничего. другие почитают..

Спасибо сказали: Павлов Сергей 48,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 24.04.24, 2:35
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!