Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
porter1841
1

Журнал-ордер по сч.60 его формирование

27.01.2012, 17:12. Показов 3353. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема в следующем.
Формируется ж/о по сч.60, в нем отображаются контрагенты и операции с ними по счетам за определенный период, но туда почему то попали и те с которыми и не проводилось никаких операций . Кто сможет помочь в редактировании кода. Вот исходный код журнала::
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
Перем ИтВал,плп; 
 
Процедура Сформировать_Колонки_Вал(Ит, Таб, Стр,Вал,ИтВал,Суб1,Суб2) 
        Суб1.НайтиЭлемент(Ит.Субконто(1));
        С1=Суб1.ТекущийЭлемент();
        Суб2.НайтиЭлемент(Ит.Субконто(2)); 
        С2=Суб2.ТекущийЭлемент();
        ИтВал.ИспользоватьСубконто(ВидыСубконто.Контрагенты,С1,1);
        ИтВал.ИспользоватьСубконто(ВидыСубконто.Основание,С2,1);
        ИтВал.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "60.2",,Вал,3,,3);
     ИтВалКД=ИтВал.СКД(2);
     ИтВалКК=ИтВал.СКК(2);  
     ИтВалДО=ИтВал.ДО(2);
     ИтВалКО=ИтВал.КО(2);
     Если ИтВал.ВыбратьВалюты()=1 Тогда
        Таб.ВывестиСекцию(Стр+"|Начало"); 
     Иначе  
        Возврат;
     КонецЕсли;
    Ит.ВыбратьКорСчета(1, 1);
    Пока Ит.ПолучитьКорСчет() = 1 Цикл  
        Если Ит.КорСчет.ЭтоГруппа()=0 Тогда
        ИтВал.ИспользоватьСубконто(ВидыСубконто.Контрагенты,С1,1);
        ИтВал.ИспользоватьСубконто(ВидыСубконто.Основание,С2,1);
            ИтВал.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "60",Ит.КорСчет,Вал, 3,, 3);
            Таб.ПрисоединитьСекцию(Стр+"|КорСчет_Дт"); 
            Если (Ит.КорСчет=СчетПоКоду("51.0")) или (Ит.КорСчет=СчетПоКоду("51.1")) или (Ит.КорСчет.ПринадлежитГруппе(СчетПоКоду(52))=1) Тогда    
                Таб.ПрисоединитьСекцию(Стр+"|Выписка");
            КонецЕсли; 
        КонецЕсли;
    КонецЦикла;   
    Таб.ПрисоединитьСекцию(Стр+"|Оборот_Дт");
    Ит.ВыбратьКорСчета(1, 2);
    Пока Ит.ПолучитьКорСчет() = 1 Цикл  
        Если Ит.КорСчет.ЭтоГруппа()=0 Тогда 
        ИтВал.ИспользоватьСубконто(ВидыСубконто.Контрагенты,С1,1);
        ИтВал.ИспользоватьСубконто(ВидыСубконто.Основание,С2,1);
            ИтВал.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "60",Ит.КорСчет,Вал, 3,, 3);
            Таб.ПрисоединитьСекцию(Стр+"|КорСчет_Кт");  
        КонецЕсли;
    КонецЦикла;
    Таб.ПрисоединитьСекцию(Стр+"|Оборот_Кт");
    Таб.ПрисоединитьСекцию(Стр+"|Конец");
КонецПроцедуры                                 
 
 
 
Процедура Сформировать_Колонки(Ит, Таб, Стр)
    Таб.ВывестиСекцию(Стр+"|Начало");   
    Опер = СоздатьОбъект("Операция");
    Ит.ВыбратьКорСчета(1, 1);
    Пока Ит.ПолучитьКорСчет() = 1 Цикл  
        Если Ит.КорСчет.ЭтоГруппа()=0 Тогда
            Таб.ПрисоединитьСекцию(Стр+"|КорСчет_Дт"); 
            Док=""; 
            Док1=""; 
            Платежка="";
            Если (Ит.КорСчет=СчетПоКоду("51.0")) или (Ит.КорСчет=СчетПоКоду("51.1")) или (Ит.КорСчет.ПринадлежитГруппе(СчетПоКоду(52))=1) Тогда    
                Опер.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Ит.Субконто(1));
                Опер.ИспользоватьСубконто(ВидыСубконто.Основание, %C8т.Субконто(2));
                Опер.ВыбратьОперацииСПроводками(ВыбНачПериода, ВыбКонПериода, Ит.Счет, Ит.КорСчет, 3, "");
                Пока Опер.ПолучитьПроводку() = 1 Цикл
                    Док=Опер.Документ.ТекущийДокумент(); 
                    Если Док.Вид()="Выписка" Тогда
                    Док1="Вып.№"+СокрЛП(Опер.Документ.НомерДок)+" от "+Опер.Документ.ДатаДок; 
                    ПлП.НайтиДокумент(Док);
                    ПлП.ВыбратьСтроки();
                    Пока ПлП.ПолучитьСтроку()=1 Цикл
                        Если (Ит.Субконто(1)=ПлП.Субконто1) и (Ит.Субконто(2)=ПлП.Субконто2) Тогда
                        //Платежка= Лев(ПлП.НазначениеПлатежа,20);
                        Платежка= "п/п № "+ПлП.НомерПП;
                        КонецЕсли;
                    КонецЦикла;
                    КонецЕсли;
                КонецЦикла;
                Таб.ПрисоединитьСекцию(Стр+"|Выписка");
            КонецЕсли; 
            
        КонецЕсли;
    КонецЦикла;
    Таб.ПрисоединитьСекцию(Стр+"|Оборот_Дт");
 
    Ит.ВыбратьКорСчета(1, 2);
    Пока Ит.ПолучитьКорСчет() = 1 Цикл  
        Если Ит.КорСчет.ЭтоГруппа()=0 Тогда
            Таб.ПрисоединитьСекцию(Стр+"|КорСчет_Кт");  
        КонецЕсли;
    КонецЦикла;
    Таб.ПрисоединитьСекцию(Стр+"|Оборот_Кт");
    Таб.ПрисоединитьСекцию(Стр+"|Конец");
КонецПроцедуры
 
Процедура Сформировать()
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать"); 
    плп=СоздатьОбъект("Документ.Выписка");
    СВ=СоздатьОбъект("Справочник.Валюты");
    Суб1=СоздатьОбъект("Справочник.Контрагенты");
    Суб2=СоздатьОбъект("Справочник.Договора");
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    ИтВал = СоздатьОбъект("БухгалтерскиеИтоги");
    Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,, 1);
    Ит.ИспользоватьСубконто(ВидыСубконто.Основание,, 1);
    Ит.ВключатьСубсчета(, 1);
    Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "60",,, 3,, 3);     
    
    ИтБар = СоздатьОбъект("БухгалтерскиеИтоги");
    ИтБар.ИспользоватьСубконто(ВидыСубконто.Контрагенты,, 1);
    ИтБар.ИспользоватьСубконто(ВидыСубконто.Основание,, 1);
    ИтБар.ВключатьСубсчета(, 1);
    ИтБар.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "60",,, 3,, 3); 
    КолПБ=0;
    ИтБар.ВыбратьСубконто(ВидыСубконто.Контрагенты);                   
    Пока ИтБар.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл 
        КолПБ=КолПБ+1;
    КонецЦикла;
    
    
    Таб.ВывестиСекцию("Заголовок");
    Сформировать_Колонки(Ит, Таб, "Шапка"); 
    
    Таб.Опции(1, 1, 7, 3,,);
    Таб.ПовторятьПриПечатиСтроки(3,4);
    Таб.ПараметрыСтраницы(2,100,,5,3,3,3,5,0,,,);  
    
    //прогресс-бар
    и1=0;
    и2=0;
    Форма.Картина.Видимость(1);
    Форма.Процент.Видимость(1); 
    НомерПБ=0;
    //конец бара
    
    Ит.ВыбратьСубконто(ВидыСубконто.Контрагенты);
    Пока Ит.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
        //прогресс-бар
        НомерПБ=НомерПБ+1;
        Кратность=Цел(КолПБ/26);
        и1=и1+1;
        Форма.процент.Заголовок("Выполнено "+Окр(100/КолПБ*НомерПБ,0,1)+"%");
        Если и1=Кратность Тогда  
            и2=и2+1;
            Форма.ПрогрессПолн.Заголовок(СтрЗаменить(Формат("","С"+и2)," ","g")); 
            и1=0;                  
        КонецЕсли;
        //конецбара
        
        Сформировать_Колонки(Ит, Таб, "Субконто1");
        Ит.ВыбратьСубконто(ВидыСубконто.Основание);
        Пока Ит.ПолучитьСубконто(ВидыСубконто.Основание) = 1 Цикл   
            Сформировать_Колонки(Ит, Таб, "Субконто2"); 
            СВ.ВыбратьЭлементы();
            Пока СВ.ПолучитьЭлемент()=1 Цикл    
            Сформировать_Колонки_Вал(Ит, Таб, "Валютная",СВ.ТекущийЭлемент(),ИтВал,Суб1,Суб2);
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;   
        //прогресс-бар
    Форма.ПрогрессПолн.Заголовок("");
    Форма.Картина.Видимость(0);
    Форма.Процент.Видимость(0);   
        //конец бара
    Сформировать_Колонки(Ит, Таб, "Подвал"); 
    Таб.ТолькоПросмотр(1);  
    Таб.Показать("Журнал-ордер 60 счета","ЖО60_р"+ДатаМесяц(ВыбНачПериода),1);
КонецПроцедуры
 
Процедура ПриОткрытии()
    ВыбНачПериода = НачалоПериодаБИ();
    ВыбКонПериода = КонецПериодаБИ();      
        //прогресс-бар
    Форма.Картина.Видимость(0);
    Форма.Процент.Видимость(0);   
    //конец бара
КонецПроцедуры
Если кто сможет подскажите что тут можно придумать еще чтобы не было пустых записей с неиспользуемыми за определенный период контрагентами.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2012, 17:12
Ответы с готовыми решениями:

Журнал-Ордер №2
Кто может поделиться очетом Журнал-Ордер №2 для Бухг. учет для Украини ? мило ugera@mail.ru

Отчет "Журнал-Ордер" (запрос)
При выполнении запроса Ит.ВыполнитьЗапрос(Дата1, Дата2, Счет,,, 3, ВидПериода) в результат попадают...

Журнал ордер (операции без сумм)
Здраствуйте! Есть такая проблема, очень требует решения.. В отчет журнал ордер никак не хотят...

Классный журнал, его аналог
Доброго дня, уважаемые программисты! Я только начал учится..и возникла данная неполадка. Мне дали...

2
Модератор
Эксперт 1С
3786 / 2965 / 590
Регистрация: 10.03.2011
Сообщений: 11,670
Записей в блоге: 1
28.01.2012, 03:37 2
Сколько платишь?
0
porter1841
28.01.2012, 14:17 3
Все зависит от сложности и затраченного времени, на выполнение задачи. поэтому немогу сказать сколько я готов за это заплатить. так как считаю что это несложная операция . просто я чего то недопонимаю. я просил подсказать а не переписывать заново весь код. сдесь нужно вставить фильтр. я пойму какой. толи по счетам которые отражаются в ЖО или по всему плану счетов незнаю. вот вчем вопрос.

Добавлено через 1 минуту
Цитата Сообщение от porter1841 Посмотреть сообщение
Все зависит от сложности и затраченного времени, на выполнение задачи. поэтому немогу сказать сколько я готов за это заплатить. так как считаю что это несложная операция . просто я чего то недопонимаю. я просил подсказать а не переписывать заново весь код. сдесь нужно вставить фильтр. я непойму какой. толи по счетам которые отражаются в ЖО или по всему плану счетов незнаю. вот вчем вопрос.
поэтому жду дельных предложений.

Добавлено через 1 минуту
Цитата Сообщение от porter1841 Посмотреть сообщение
Все зависит от сложности и затраченного времени, на выполнение задачи. поэтому немогу сказать сколько я готов за это заплатить. так как считаю что это несложная операция . просто я чего то недопонимаю. я просил подсказать а не переписывать заново весь код. сдесь нужно вставить фильтр. я пойму какой. толи по счетам которые отражаются в ЖО или по всему плану счетов незнаю. вот вчем вопрос.

Добавлено через 1 минуту
поэтому жду дельных предложений.
а если кто желает помочь за деньги то должен сам сказать во сколько он оценивает свои труды.
28.01.2012, 14:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2012, 14:17
Помогаю со студенческими работами здесь

Журнал регистрации, как получить ссылки на объекты или еще один его рекивизит
Интересует вопрос: можно ли из журнала регистрации 1с 8.2 вытащить ссылки или реквизит на объекты?...

Мемориальный ордер №6
День добрый. Вопрос такой: есть Документ поступление ТМЗ. В нём бух указывает Услугу и сумму. Потом...

MSDN журнал. Подписка на бумажный журнал
Как подписаться на бумажный журнал или его в бумажном варианте по РФ не подписывают уже?

Приходной кассовый ордер
всем привет.помогите решить проблему.заключается в следующем:при распечатки ордера растояние между...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru