Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
porter1841
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 2
1

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

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

Проблема в следующем.
Формируется ж/о по сч.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);   
    //конец бара
КонецПроцедуры
Если кто сможет подскажите что тут можно придумать еще чтобы не было пустых записей с неиспользуемыми за определенный период контрагентами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 17:12
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

Добавлено через 1 минуту
поэтому жду дельных предложений.
а если кто желает помочь за деньги то должен сам сказать во сколько он оценивает свои труды.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2012, 14:17

УПП. 1С:Профессионал. Расходный ордер на товары и тара в нем
6.19 Документом "Расходный ордер на товары" можно отразить реализацию:...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru