Имя: Пароль:
1C
 
Помогите с ПКО!!!
Ø
0 only
 
30.08.06
19:20
Здраствуйте, ТиС, в Форме.Документ.ПКО (приходно-кассовый ордер) (ПКО) есть реквизит “Сумма”, а также есть реквизит “НДС,%” – где стоит значение “авто”, т.е. саму СуммуНДС мы видим только в печатной форме ПКО. Подскажите, как можно сделать внешнюю обработку, которая бы выдавала за определенный период из док-тов ПКО Сумму(всего) и СуммуНДС(всего).
Я так понимаю, что Сумму(всего) можно вытянуть из формы ПКО, а вот СуммаНДС есть только в модуле формы. Как все это можно проделать?
1 VZ
 
30.08.06
19:32
Внешняя печатная форма.
2 VV
 
30.08.06
19:32
ты еще ветку сделай "БУХ - Помогите С ПКО","ПБОЮЛ - Помогите С ПКО" и "УСН - Помогите С ПКО". А то везде же алгоритм подсчета НДС разный, для каждой конфы - свой. Ждем-с.
3 VV
 
30.08.06
19:35
Не, тезка, 0) хочет вытянуть цифру, обратившись к реквизиту дока, ИМХО.
4 only
 
30.08.06
19:41
(1) Я так и хотела через внешнюю, только незнаю как СуммуНДС из модуля ПКО вытянуть...
(2) Типовая конфигурация ТиС, редакция 9.2, 7.70.933
5 VZ
 
30.08.06
19:43
(3) Ну можно и без формы. И Сумма и СуммаНДС есть в реквизите ТЧ. О чем рчечь? Можно просто:
Док = СоздатьОбъект("Документ");
Док.НайтиДокумент(КакойДокументИнтересует);
Сумма = 0; СуммаНДС = 0;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() = 1 Цикл
  Сумма = Сумма + Док.Сумма;
  СуммаНДС = СуммаНДС + Док.СуммаНДС;
КонецЦикла;
 
И все :)
6 USSR
 
30.08.06
19:50
(5)В ПКО нет табличной части, я полагаю, она не знает как выделить НДС, суммы НДС нет в реквизитах ПКО, но девушке видимо трудно заглянуть в модуль формы:
СуммаНДСРуб = СуммаРубБезНП * глВыделяемыйНДС(Ставка);
7 only
 
30.08.06
19:52
В том-то и дело, что СуммуНДС он считает в модуле, а рез-тат подсчета виден только в печ.форме...
Выкладываю кусок модуля из формы ПКО:
Если ПустоеЗначение(СтавкаНДС) = 1 Тогда
// Ставка НДС не установлена (авто)
Если ПустоеЗначение(ДокОснование) = 1 Тогда
Если КодОперации = Перечисление.КодыОпераций.РозничнаяВыручкаЕНВД Тогда
Ставка = Перечисление.СтавкиНДС.БезНДС;
Иначе
// рассчитаем сумму НДС по ставке по умолчанию
Ставка = глЗначениеПоУмолчанию("ОсновнаяСтавкаНДС");
КонецЕсли;
СуммаНДСРуб = СуммаРубБезНП * глВыделяемыйНДС(Ставка);
Если СуммаНДСРуб <> 0 Тогда
глДобавитьРеквизит(СтрСумма, "; ", ПредставлениеСтавкиНДС(СуммаНДСРуб, Ставка));
КонецЕсли;
Иначе
Если Докоснование.Вид() = "РКО" Тогда
Ставка = глЗначениеПоУмолчанию("ОсновнаяСтавкаНДС");
СуммаНДСРуб = СуммаРубБезНП * глВыделяемыйНДС(Ставка);
глДобавитьРеквизит(СтрСумма, "; ", ПредставлениеСтавкиНДС(СуммаНДСРуб,Ставка));
Иначе
Если ДокОснование.УчитыватьНДС = 1 Тогда
// выгрузим в тз колонки ставки и сумму и свернем по ставке
ДокОснование.ВыгрузитьТабличнуюЧасть(ЗначенияПоНДС, "СтавкаНДС,СуммаНДС");
ЗначенияПоНДС.Свернуть("СтавкаНДС", "СуммаНДС");
8 VZ
 
30.08.06
19:53
(6) Значит, в (5) две ошибки: нет ТЧ и СоздатьОбъект() вовсе не обязательно ;)
9 only
 
30.08.06
19:56
(6)Спасибо за желание помочь, но в 1С я недавно, поэтому для вас может и все очевидно, а я пока учусь ).
Поэтому я не совсем поняла, как в мой внеш.отчет добавить анализ по этой строчке:
СуммаНДСРуб = СуммаРубБезНП * глВыделяемыйНДС(Ставка);
10 USSR
 
30.08.06
19:59
(9)Вероятно добавить Док. кда следует. А зачем вообще НДС выделять с этих документов?? Что за задача?