Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Chessy
7 / 7 / 2
Регистрация: 04.11.2012
Сообщений: 47
1

ВПФ для ПТУ

25.08.2013, 13:47. Просмотров 626. Ответов 1

Здравствуйте, уважаемые форумчане. Такой вопрос - надо сделать доп форму в 11 УТ, чтобы там были и розничные цены и цены поступления, да еще и наценка... Сделал розничные цены, не знаю как вытащить наценку. Вот функция формирвания табдока
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
Функция СформироватьПечатнуюФормуПоступлениеТоваров(Тип, МассивОбъектов, ОбъектыПечати)
    
    УстановитьПривилегированныйРежим(Истина);
    ВалютаРеглУчета = Константы.ВалютаРегламентированногоУчета.Получить();
 
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.АвтоМасштаб = Истина;
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_ПриходнаяНакладная";
    
    КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
    ИспользованиеУпаковок = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");
    
    Запрос = Новый Запрос(
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |   Документы.Ссылка КАК Ссылка,
    |   Документы.Организация КАК Организация,
    |   Документы.Контрагент КАК Контрагент,
    |   Документы.Номер КАК Номер,
    |   Документы.Дата КАК Дата,
    |   Документы.Организация.Префикс КАК Префикс
    |ИЗ
    |   Документ.ПоступлениеТоваровУслуг КАК Документы
    |ГДЕ
    |   Документы.Ссылка В(&МассивОбъектов)
    |
    |УПОРЯДОЧИТЬ ПО
    |   Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    |   ПоступлениеТоваровУслугТовары.Номенклатура,
    |   ПоступлениеТоваровУслугТовары.Характеристика,
    |   ПоступлениеТоваровУслугТовары.Упаковка,
    |   ПоступлениеТоваровУслугТовары.Ссылка
    |ПОМЕСТИТЬ ВТНужныеТовары
    |ИЗ
    |   Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    |ГДЕ
    |   ПоступлениеТоваровУслугТовары.Ссылка В(&МассивОбъектов)
    |
    |СГРУППИРОВАТЬ ПО
    |   ПоступлениеТоваровУслугТовары.Характеристика,
    |   ПоступлениеТоваровУслугТовары.Номенклатура,
    |   ПоступлениеТоваровУслугТовары.Упаковка,
    |   ПоступлениеТоваровУслугТовары.Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   ЦеныНоменклатуры.Период,
    |   ЦеныНоменклатуры.Номенклатура,
    |   ЦеныНоменклатуры.ВидЦены,
    |   ЦеныНоменклатуры.Характеристика,
    |   ЦеныНоменклатуры.Цена,
    |   ЦеныНоменклатуры.Упаковка,
    |   ЦеныНоменклатуры.Упаковка.Коэффициент КАК УпаковкаКоэффициент
    |ПОМЕСТИТЬ РозничныеЦены
    |ИЗ
    |   ВТНужныеТовары КАК ВТНужныеТовары
    |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    |       ПО ВТНужныеТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура
    |           И ВТНужныеТовары.Характеристика = ЦеныНоменклатуры.Характеристика
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   Товары.НомерСтроки,
    |   Товары.Ссылка КАК Ссылка,
    |   Товары.Склад КАК Склад,
    |   ВЫБОР
    |       КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
    |           ТОГДА ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения)
    |       ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Товары.Упаковка.ЕдиницаИзмерения)
    |   КОНЕЦ КАК ПредставлениеЕдининицыИзмеренияУпаковки,
    |   ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
    |   Товары.КоличествоУпаковок КАК КоличествоУпаковок,
    |   Товары.Количество КАК Количество,
    |   Товары.Номенклатура.Код КАК Код,
    |   Товары.Номенклатура.НаименованиеПолное КАК Номенклатура,
    |   Товары.Номенклатура КАК НоменклатураСсылка,
    |   Товары.Характеристика КАК ХарактеристикаСсылка,
    |   Товары.Характеристика.НаименованиеПолное КАК Характеристика,
    |   ВЫБОР
    |       КОГДА ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1) = 1
    |           ТОГДА НЕОПРЕДЕЛЕНО
    |       ИНАЧЕ Товары.Упаковка.Наименование
    |   КОНЕЦ КАК Упаковка,
    |   МАКСИМУМ(РозничныеЦены.Период) КАК Период,
    |   Товары.Упаковка.Коэффициент КАК УпаковкаКоэффициент
    |ПОМЕСТИТЬ ВТТовары
    |ИЗ
    |   Документ.ПоступлениеТоваровУслуг.Товары КАК Товары
    |       ЛЕВОЕ СОЕДИНЕНИЕ ВТНужныеТовары КАК ВТНужныеТовары
    |       ПО Товары.Ссылка = ВТНужныеТовары.Ссылка
    |       ЛЕВОЕ СОЕДИНЕНИЕ РозничныеЦены КАК РозничныеЦены
    |       ПО Товары.Номенклатура = РозничныеЦены.Номенклатура
    |           И Товары.Характеристика = РозничныеЦены.Характеристика
    |           И КОНЕЦПЕРИОДА(Товары.Ссылка.Дата, ДЕНЬ) >= РозничныеЦены.Период
    |ГДЕ
    |   Товары.Ссылка В(&МассивОбъектов)
    |   И Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
    |СГРУППИРОВАТЬ ПО
    |   Товары.Ссылка,
    |   Товары.Склад,
    |   Товары.КоличествоУпаковок,
    |   Товары.Номенклатура.Код,
    |   Товары.Количество,
    |   Товары.Номенклатура.НаименованиеПолное,
    |   Товары.Характеристика.НаименованиеПолное,
    |   Товары.Номенклатура,
    |   Товары.Характеристика,
    |   Товары.НомерСтроки,
    |   ВЫБОР
    |       КОГДА ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1) = 1
    |           ТОГДА НЕОПРЕДЕЛЕНО
    |       ИНАЧЕ Товары.Упаковка.Наименование
    |   КОНЕЦ,
    |   ВЫБОР
    |       КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
    |           ТОГДА ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения)
    |       ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Товары.Упаковка.ЕдиницаИзмерения)
    |   КОНЕЦ,
    |   ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения),
    |   Товары.Упаковка.Коэффициент
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   Товары.Ссылка КАК Ссылка,
    |   Товары.Склад КАК Склад,
    |   Товары.ПредставлениеЕдининицыИзмеренияУпаковки,
    |   Товары.ПредставлениеБазовойЕдиницыИзмерения,
    |   Товары.КоличествоУпаковок КАК КоличествоУпаковок,
    |   Товары.Количество КАК Количество,
    |   Товары.Код КАК Код,
    |   Товары.Номенклатура КАК Номенклатура,
    |   Товары.Характеристика КАК Характеристика,
    |   Товары.Упаковка,
    |   ВЫРАЗИТЬ(ЕСТЬNULL(РозничныеЦены.Цена, 0)
    |           / ЕСТЬNULL(РозничныеЦены.УпаковкаКоэффициент, 1)
    |           * ЕСТЬNULL(Товары.УпаковкаКоэффициент, 1)
    |       КАК ЧИСЛО(15,2)) * Товары.КоличествоУпаковок КАК Сумма,
    |
    |   ВЫРАЗИТЬ(ЕСТЬNULL(РозничныеЦены.Цена, 0)
    |           / ЕСТЬNULL(РозничныеЦены.УпаковкаКоэффициент, 1)
    |           * ЕСТЬNULL(Товары.УпаковкаКоэффициент, 1)
    |       КАК ЧИСЛО(15,2)) КАК Цена
    |
    |ИЗ
    |   ВТТовары КАК Товары
    |       ЛЕВОЕ СОЕДИНЕНИЕ РозничныеЦены КАК РозничныеЦены
    |       ПО Товары.НоменклатураСсылка = РозничныеЦены.Номенклатура
    |           И Товары.ХарактеристикаСсылка = РозничныеЦены.Характеристика
    |           И Товары.Период = РозничныеЦены.Период
    |
    |УПОРЯДОЧИТЬ ПО
    |   Ссылка,
    |   Склад,
    |   Товары.НомерСтроки
    |ИТОГИ ПО
    |   Ссылка,
    |   Склад");
    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
                
    Макет = ПолучитьМакет("Макет");
    
    Смещать = ТипСмещенияТабличногоДокумента.ПоВертикали;
            
    ПакетЗапросов = Запрос.ВыполнитьПакет();
    ДанныеПечати = ПакетЗапросов[0].Выбрать();
    ВыборкаПоДокументам = ПакетЗапросов[4].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    // Создание массива для проверки: какие из докуметов не попали в выборку
    МассивПроверки = Новый Массив;
    Для Каждого Ссылка Из МассивОбъектов Цикл
        МассивПроверки.Добавить(Ссылка);
    КонецЦикла;
    
    РеквизитыДокумента = Новый Структура("Номер, Дата, Префикс, Представление, ПредставлениеРаспоряжения, ПредставлениеОрганизации, ПредставлениеПартнера, Склад, ЦенаЗакупки, СуммаНДС, СуммаСНДС, СтавкаНДС");
    //РеквизитыДокумента.Вставить("ТекстЗаголовка", НСтр("ru='Приходная накладная'"));
    ПервыйДокумент = Истина;
    
    Пока ДанныеПечати.Следующий() Цикл
        
        Если НЕ ВыборкаПоДокументам.НайтиСледующий(Новый Структура("Ссылка", ДанныеПечати.Ссылка)) Тогда
            Продолжить;
        КонецЕсли;
        
        МассивПроверки.Удалить(МассивПроверки.Найти(ДанныеПечати.Ссылка));
        
        НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы;
        
        ЗаполнитьЗначенияСвойств(РеквизитыДокумента, ДанныеПечати);
        РеквизитыДокумента.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(
        ФормированиеПечатныхФорм.СведенияОЮрФизЛице(
        ДанныеПечати.Организация,
        ДанныеПечати.Дата
        ),
        "ПолноеНаименование"
        );
        РеквизитыДокумента.ПредставлениеПартнера = ФормированиеПечатныхФорм.ОписаниеОрганизации(
        ФормированиеПечатныхФорм.СведенияОЮрФизЛице(
        ДанныеПечати.Контрагент,
        ДанныеПечати.Дата
        ),
        "ПолноеНаименование"
        );
        
        ПолучитьЦены(РеквизитыДокумента);
        ВыборкаПоСкладам = ВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        Пока ВыборкаПоСкладам.Следующий() Цикл
            
            Если Не ПервыйДокумент Тогда
                ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
            КонецЕсли;
            
            ПервыйДокумент = Ложь;
            
            
            
            ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
            //ОбластьЗаголовок.Параметры.Склад = Объект.Склад;
            ОбластьЗаголовок.Параметры.Заполнить(РеквизитыДокумента);
            ТабличныйДокумент.Вывести(ОбластьЗаголовок);
                        
            Область = Макет.ПолучитьОбласть("Поставщик");
            Область.Параметры.Заполнить(РеквизитыДокумента);
            ТабличныйДокумент.Вывести(Область);
            
            ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("ШапкаТаблицы"));
            
            СчетСтрок = 1;
            СуммаБезНДС = 0;
            ВсегоСумма = 0;
            ВсегоКоличество = 0;
 
            ВыборкаПоТоварам = ВыборкаПоСкладам.Выбрать();
            Пока ВыборкаПоТоварам.Следующий() Цикл
                
                ВсегоСумма = ВсегоСумма + ВыборкаПоТоварам.Сумма;
                ВсегоКоличество = ВсегоКоличество + ВыборкаПоТоварам.Количество;
                СуммаСНДС = ВыборкаПоТоварам.Количество * ВыборкаПоТоварам.Цена;
                
                ОбластьСтрока = Макет.ПолучитьОбласть("СтрокаТаблицы");
                ОбластьСтрока.Параметры.НомерСтроки = СчетСтрок;
                //ОбластьСтрока.Параметры.СуммаСНДС = СуммаСНДС;
                //ОбластьСтрока.Параметры.СтавкаНДС = ВыборкаПоТоварам.СтавкаНДС;
                СчетСтрок = СчетСтрок + 1;
                ОбластьСтрока.Параметры.Заполнить(ВыборкаПоТоварам);
                ТабличныйДокумент.Вывести(ОбластьСтрока);
                
            КонецЦикла;
            
            Область = Макет.ПолучитьОбласть("Итого");
            Область.Параметры.ВсегоСумма = ФормированиеПечатныхФорм.ФорматСумм(ВсегоСумма);
            Область.Параметры.ВсегоКоличество = ВсегоКоличество;
            ТабличныйДокумент.Вывести(Область);
            
            ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
            ИтоговаяСтрока = НСтр("ru='Из %КоличествоНаименований% наименований всего %ВсегоКоличество% штук.'");
            ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%КоличествоНаименований%", СчетСтрок-1);
            ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%ВсегоКоличество%", ВсегоКоличество);
            ОбластьПодвалТаблицы.Параметры.ИтоговаяСтрока = ИтоговаяСтрока;
            //ЦеныПрихода = НСтр("ru='Сумма накладной в ценах прихода без НДС %СуммаБезНДС% р. Наценка   р.'");
            //ЦеныПрихода = СтрЗаменить(ЦеныПрихода, "%СуммаБезНДС%", СуммаБезНДС);
 
            ТабличныйДокумент.Вывести(ОбластьПодвалТаблицы);
 
                                    
            ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");
            СуммаКПрописи = ВсегоСумма;
            
            //ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%СуммаДокумента%", ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ВалютаРеглУчета));
            
            ОбластьСуммаПрописью.Параметры.СуммаПрописью  = РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ВалютаРеглУчета);
            ТабличныйДокумент.Вывести(ОбластьСуммаПрописью);
 
                        
            ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");
            //
            //
            ТабличныйДокумент.Вывести(ОбластьПодписи);
            
        КонецЦикла;
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
        
    КонецЦикла;
    
    Для Каждого Ссылка Из МассивПроверки Цикл
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
        СтрЗаменить(
        НСтр("ru = 'В документе %Ссылка% отсутствуют товары. Печать приходной накладной не требуется.'"),
        "%Ссылка%",
        Ссылка
        ),
        Ссылка
        );
    КонецЦикла;
    
    Если ПривилегированныйРежим() Тогда
        УстановитьПривилегированныйРежим(Ложь);
    КонецЕсли;
    
    Возврат ТабличныйДокумент;
    
КонецФункции      //СформироватьПечатнуюФормуПоступлениеТоваров
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 13:47
Ответы с готовыми решениями:

Из модуля ВПФ открыть форму ВПФ
Добрый день. Подскажите каким макаром открыть форму внешней печтаной формы (далее ВПФ) из модуля...

ВПФ для РеализацииТоваровУслуг
Здравствуйте! Делаю ВПФ для Реализации. Конфа БП 3.0. Раньше никогда не работал с упр. приложением....

Создание ВПФ Счет на оплату для УТ 11
Тренируюсь на создании ВПФ. Делаю Счет на оплату для УТ 11 под УП. Дошел до момента //Вывести...

Нужна помощь в создании ВПФ для УТ 8.1 ред.10.3 - Расходная накладная
Необходимо создать для УТ 8.1 (версия 10.3.1.17) внешнюю печатную форму для документа «Реализация...

ВПФ Счет-фактуры
Проблема с печатной формой. Выводится на 2-ую страницу шапка таблицы после строки (на скрине...

1
Chessy
7 / 7 / 2
Регистрация: 04.11.2012
Сообщений: 47
25.08.2013, 22:38  [ТС] 2
Есть предложения?
Вот сама впф на всякий случай, может кто разберется как вытащить наценку.
0
Вложения
Тип файла: zip ПолучениеТоваров.zip (8.8 Кб, 7 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2013, 22:38

ВПФ Счет-Фактура для Бух 3
Нужна внешняя форма-счет-фактура выданная с договором покупателя в шапке документа конфигурация...

ВПФ
теперь нужно тоже самое но только на 8.3. Кто может помочь? Добавлено через 7 часов 10 минут...

ВПФ счета от поставщика
Здравствуйте, 1С Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.64.54) Есть везде счета...


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

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

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