НДС

4. basean 26.10.11 16:41 Сейчас в теме
Самая кривая часть, вот код, который поможет решить некоторые проблемы :)
Пользуйтесь... Данный код поможет вам сдать кое какую отчетность :)... заранее благодарен :)

//******************************************************************************
// Блок ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ
хмлВходящаяОпись = хмлПачкаВходящихДокументов.СоздатьПодчиненныйЭлемент("ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ");

хмлНомерВпачке = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("НомерВпачке");
хмлНомерВпачке.Значение = 1;

хмлТипВходящейОписи = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("ТипВходящейОписи");
хмлТипВходящейОписи.Значение = "ОПИСЬ ПАЧКИ";

хмлСоставительПачки = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("СоставительПачки");
глхмлСтрахователь(хмлСоставительПачки, ИНН, КПП, НаименованиеПолное, Наименование, НомерПФР);

хмлНомерПачки = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("НомерПачки");
хмлОсновной = хмлНомерПачки.СоздатьПодчиненныйЭлемент("Основной");
хмлОсновной.Значение = НомерПачкиДокументов;

хмлСоставДокументов = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("СоставДокументов");

хмлКоличество = хмлСоставДокументов.СоздатьПодчиненныйЭлемент("Количество");
хмлКоличество.Значение = 1;

хмлНаличиеДокументов = хмлСоставДокументов.СоздатьПодчиненныйЭлемент("НаличиеДокументов");
хмлТипДокумента = хмлНаличиеДокументов.СоздатьПодчиненныйЭлемент("ТипДокумента");
хмлТипДокумента.Значение= "СВЕДЕНИЯ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ";
хмлКоличество = хмлНаличиеДокументов.СоздатьПодчиненныйЭлемент("Количество");
хмлКоличество.Значение = ВсегоДокументов;

хмлДатаСоставления = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("ДатаСоставления");
хмлДатаСоставления.Значение = ДатаЗаполнения;

хмлТипСведений = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("ТипСведений");
хмлТипСведений.Значение = ТипСведенийПачки;

хмлКодКатегории = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("КодКатегории");
хмлКодКатегории.Значение = КатегорияЗЛ.Идентификатор();

Если ТипПачки <> "СПВ-1" Тогда

хмлОтчетныйПериод = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("ОтчетныйПериод");
хмлКвартал = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Квартал");
хмлКвартал.Значение = ПолучитьНомерКварталаОтчетногоПериода(ОтчетныйПериод);
хмлГод = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Год");
хмлГод.Значение = ДатаГод(ОтчетныйПериод);

Если ТипСведений <> Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ Тогда

хмлКорректируемыйОтчетныйПериод = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("КорректируемыйОтчетныйПериод");
хмлКвартал = хмлКорректируемыйОтчетныйПериод.СоздатьПодчиненныйЭлемент("Квартал");
хмлКвартал.Значение = ПолучитьНомерКварталаОтчетногоПериода(КорректируемыйПериод);
хмлГод = хмлКорректируемыйОтчетныйПериод.СоздатьПодчиненныйЭлемент("Год");
хмлГод.Значение = ДатаГод(КорректируемыйПериод);

КонецЕсли;

Иначе
Если ТипСведений <> Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ Тогда

хмлОтчетныйПериод = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("ОтчетныйПериод");
хмлКвартал = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Квартал");
хмлКвартал.Значение = ПолучитьНомерКварталаОтчетногоПериода(КорректируемыйПериод);
хмлГод = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Год");
хмлГод.Значение = ДатаГод(КорректируемыйПериод);

хмлКорректируемыйОтчетныйПериод = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("КорректируемыйОтчетныйПериод");
хмлКвартал = хмлКорректируемыйОтчетныйПериод.СоздатьПодчиненныйЭлемент("Квартал");
хмлКвартал.Значение = ПолучитьНомерКварталаОтчетногоПериода(ОтчетныйПериод);
хмлГод = хмлКорректируемыйОтчетныйПериод.СоздатьПодчиненныйЭлемент("Год");
хмлГод.Значение = ДатаГод(ОтчетныйПериод);

Иначе
хмлОтчетныйПериод = хмлВходящаяОпись.СоздатьПодчиненныйЭлемент("ОтчетныйПериод");
хмлКвартал = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Квартал");
хмлКвартал.Значение = ПолучитьНомерКварталаОтчетногоПериода(ОтчетныйПериод);
хмлГод = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Год");
хмлГод.Значение = ДатаГод(ОтчетныйПериод);

КонецЕсли;
КонецЕсли;


...................................

// Блок ВХОДЯЩАЯ_ОПИСЬ_ПО_СТРАХОВЫМ_ВЗНОСАМ
//******************************************************************************

//******************************************************************************
// Блоки СВЕДЕНИЯ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ


Для СчДокументов = 1 По ВсегоДокументов Цикл

ТабСоставПачки.ПолучитьСтрокуПоНомеру(СчДокументов);

Сотрудник = ТабСоставПачки.Сотрудник;
ДатаСоставления = ТабСоставПачки.ДатаСоставления;// для СПВ-1

глСтатусСтрока(Контекст,"Выводится в отчет ("+Окр(СчДокументов/ВсегоДокументов*100)+"%): "+Сотрудник.Наименование);

ПередаватьАдрес = 0;
Если ТипПачки <> "СПВ-1" Тогда
ПередаватьАдрес = ТабСоставПачки.ПередаватьАдрес;
КонецЕсли;

НачисленоСтрах = ТабСоставПачки.ИсчисленоСтраховая;
УплаченоСтрах = ТабСоставПачки.УплаченоСтраховая;

НачисленоНак = ТабСоставПачки.ИсчисленоНакопительная;
УплаченоНак = ТабСоставПачки.УплаченоНакопительная;

ТаблицаСоСтажем = "";

НомСтрокиТСС ="";
Если ТаблицаСтажиСотрудников.НайтиЗначение(Сотрудник, НомСтрокиТСС, "Сотрудник")=0 Тогда
// не нашли сотрудника в таблице стажа
Сообщить("Сотрудник: " + Сотрудник.Наименование + " нет данных о стаже!");
Иначе

ТаблицаСтажаСотрудника = ТаблицаСтажиСотрудников.ПолучитьЗначение(НомСтрокиТСС,"ТаблицаСтажаСотрудника");

НомСтрокиТССт = "";
Если ТаблицаСтажаСотрудника.НайтиЗначение(КатегорияЗЛ, НомСтрокиТССт, "КатегорияЗЛ")=0 Тогда
Сообщить("Сотрудник: " + Сотрудник.Наименование + " нет данных о стаже по категории ЗЛ "+КатегорияЗЛ+"!");
Иначе
ТаблицаСоСтажем = ТаблицаСтажаСотрудника.ПолучитьЗначение(НомСтрокиТССт,"ТаблицаСоСтажем");
КонецЕсли;

КонецЕсли;

Фамилия = ""; Имя = ""; Отчество = "";
ФИО = глФамилияИмяОтчество(Сотрудник,Фамилия,Имя,Отчество);

//определим адреса:
Адрес="";
ТипАдреса = "РОССИЙСКИЙ";
АдресСписком = "";
Если ПередаватьАдрес=1 Тогда
Адрес = ПолучитьАдресСотрудника(Сотрудник,ТипАдреса,АдресСписком);
КонецЕсли;

СтраховойНомерПФР = ПолучитьСтраховойНомер(Сотрудник,Хорошо);

хмлСведенияЗЛ = хмлПачкаВходящихДокументов.СоздатьПодчиненныйЭлемент("СВЕДЕНИЯ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ");

хмлНомерВпачке = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("НомерВпачке");
хмлНомерВпачке.Значение = СчДокументов+1;

хмлВидФормы = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("ВидФормы");
хмлВидФормы.Значение = ТипПачки;

хмлТипСведений = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("ТипСведений");
хмлТипСведений.Значение = ТипСведенийПачки;


хмлРегистрационныйНомер = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("РегистрационныйНомер");
хмлРегистрационныйНомер.Значение = НомерПФР;

хмлНаименованиеКраткое = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("НаименованиеКраткое");
хмлНаименованиеКраткое.Значение = Наименование;

хмлНалоговыйНомер = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("НалоговыйНомер");
хмлИНН = хмлНалоговыйНомер.СоздатьПодчиненныйЭлемент("ИНН");
хмлИНН.Значение = ИНН;
хмлКПП = хмлНалоговыйНомер.СоздатьПодчиненныйЭлемент("КПП");
хмлКПП.Значение = КПП;

хмлКодКатегории = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("КодКатегории");
хмлКодКатегории.Значение = КатегорияЗЛ.Идентификатор();

хмлОтчетныйПериод = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("ОтчетныйПериод");
хмлКвартал = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Квартал");
хмлКвартал.Значение = ПолучитьНомерКварталаОтчетногоПериода(ОтчетныйПериод);
хмлГод = хмлОтчетныйПериод.СоздатьПодчиненныйЭлемент("Год");
хмлГод.Значение = ДатаГод(ОтчетныйПериод);

Если ТипПачки <> "СПВ-1" Тогда

Если ТипСведений <> Перечисление.ТипыСведенийСЗВ.ИСХОДНАЯ Тогда

хмлКорректируемыйОтчетныйПериод = хмлСведенияЗЛ.СоздатьПодчиненныйЭлемент("КорректируемыйОтчетныйПериод");
хмлКвартал = хмлКорректируемыйОтчетныйПериод.СоздатьПодчиненныйЭлемент("Квартал");
хмлКвартал.Значение = ПолучитьНомерКварталаОтчетногоПериода(КорректируемыйПериод);
хмлГод = хмлКорректируемыйОтчетныйПериод.СоздатьПодчиненныйЭлемент("Год");
хмлГод.Значение = ДатаГод(КорректируемыйПериод);

КонецЕсли;

КонецЕсли;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. 13.06.06 11:41 Сейчас в теме
У меня товары с разным НДС... а когда формирую разходную накладную, то все с одним НДС считает..... как быть , помогите
6. CheBurator 3119 18.06.06 22:22 Сейчас в теме
Отвечаю:
так как вы формируете расходную накладную в ручном режиме - т.е. выписываете ее ручкой на стандартном бланке - кто виноват , что вы пишите везде одинаковую ставку?
Это было предисловие, словие такое:
КАКАЯ КОНФИГУРАЦИЯ, ТЫ, стучащая по дереву птица?
Задавай вопросы нормально - получишь нормальный ответ.
Забесплатно никто не будет напрягать свой мозг, чтобы уловить телепатирующее от тебя сообщение...
Слов нет...
7. vasilykushnir 63 03.07.06 10:21 Сейчас в теме
1. Справочник "ВидыНалогов" - прописываешь все виды НДС.
2. Справочник "Товары" (ТМЦ) - Поле "ВидНДС" - ссылка на "ВидыНалогов".
3. При Печати:
ЦенаОтпуска=ЦенаУчета*Наценка*(1+Товар.ВидНДС.Ставка)
При условии, что ставка - доля процента: 0.2 (Если НДС=20%), 1.15 (Если НДС=15%) и т.д.
Ну вот приблизительно в єтом ключе, если ты чого-то еще не нахомутал.
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот