пятница, 22 января 2021 г.

 
Процедура РассчитатьВзносыФОТПроводкиЗаписи( Сотрудники ) Экспорт
    
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("парамПериодРегистрации"        , ПериодРегистрации);
    Запрос.УстановитьПараметр("ПериодСрез"        , КонецМесяца(ПериодРегистрации));

    Запрос.УстановитьПараметр("парамСотрудники"                , Сотрудники);
    
    //МассивФизЛица = Новый Массив;
    //
    //Для Каждого Элемент из Сотрудники Цикл
    //    МассивФизЛица.Добавить(Элемент.ФизЛицо);    
    //КонецЦикла;
    //
    //Запрос.УстановитьПараметр("МассивФизЛица"                , МассивФизЛица);

    //
    //
    //    ВТПроводки
    Если Истина Тогда
        //    Описание:
        //         РегистрРасчета.ВзносыВФонды + Проводки Кт
        //        
        ТекстЗапросаВТ = "ВЫБРАТЬ
                         |    ВзносыВФонды.Сотрудник.Физлицо КАК ФизЛицо,
                         |    ВзносыВФонды.Сотрудник,
                         |    ВзносыВФонды.Налог,
                         |    НАЧАЛОПЕРИОДА(ВзносыВФонды.БазовыйПериодНачало, МЕСЯЦ) КАК БазовыйПериодНачало,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетДт, Проводки.СчетДт) КАК СчетДт,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДт1, Проводки.СубконтоДт1) КАК СубконтоДт1,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДт2, Проводки.СубконтоДт2) КАК СубконтоДт2,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДт3, Проводки.СубконтоДт3) КАК СубконтоДт3,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетКт, Проводки.СчетКт) КАК СчетКт,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКт1, Проводки.СубконтоКт1) КАК СубконтоКт1,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКт2, Проводки.СубконтоКт2) КАК СубконтоКт2,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКт3, Проводки.СубконтоКт3) КАК СубконтоКт3,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетДтНУ, Проводки.СчетДтНУ) КАК СчетДтНУ,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДтНУ1, Проводки.СубконтоДтНУ1) КАК СубконтоДтНУ1,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДтНУ2, Проводки.СубконтоДтНУ2) КАК СубконтоДтНУ2,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДтНУ3, Проводки.СубконтоДтНУ3) КАК СубконтоДтНУ3,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетКтНУ, Проводки.СчетКтНУ) КАК СчетКтНУ,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКтНУ1, Проводки.СубконтоКтНУ1) КАК СубконтоКтНУ1,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКтНУ2, Проводки.СубконтоКтНУ2) КАК СубконтоКтНУ2,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКтНУ3, Проводки.СубконтоКтНУ3) КАК СубконтоКтНУ3,
                         |    СУММА(ВзносыВФонды.Результат) КАК Результат
                         |ПОМЕСТИТЬ ВТПроводки
                         |ИЗ
                         |    РегистрРасчета.ВзносыВФонды КАК ВзносыВФонды
                         |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпособыОтраженияЗарплатыВРеглУчете КАК Проводки
                         |        ПО ВзносыВФонды.ВидРасчета.СпособОтраженияВБухучете = Проводки.Ссылка
                         |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ПериодСрез, Сотрудник В (&ПарамСотрудники)) КАК РаботникиОрганизацийСрезПоследних
                         |        ПО ВзносыВФонды.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
                         |ГДЕ
                         |    ВзносыВФонды.ПериодРегистрации = &парамПериодРегистрации
                         |    И ВзносыВФонды.Сотрудник В(&парамСотрудники)
                         |    И ВзносыВФонды.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ВзносыФОТ)
                         |
                         |СГРУППИРОВАТЬ ПО
                         |    ВзносыВФонды.Сотрудник,
                         |    ВзносыВФонды.Налог,
                         |    НАЧАЛОПЕРИОДА(ВзносыВФонды.БазовыйПериодНачало, МЕСЯЦ),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетДтНУ, Проводки.СчетДтНУ),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДтНУ1, Проводки.СубконтоДтНУ1),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДтНУ2, Проводки.СубконтоДтНУ2),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДтНУ3, Проводки.СубконтоДтНУ3),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетКтНУ, Проводки.СчетКтНУ),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКтНУ1, Проводки.СубконтоКтНУ1),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКтНУ2, Проводки.СубконтоКтНУ2),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКтНУ3, Проводки.СубконтоКтНУ3),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДт1, Проводки.СубконтоДт1),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетДт, Проводки.СчетДт),
                         |    ВзносыВФонды.Сотрудник.Физлицо,
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДт2, Проводки.СубконтоДт2),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоДт3, Проводки.СубконтоДт3),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СчетКт, Проводки.СчетКт),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКт1, Проводки.СубконтоКт1),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКт2, Проводки.СубконтоКт2),
                         |    ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.СпособОтраженияФОТ.СубконтоКт3, Проводки.СубконтоКт3)";
        
        
        
            ТекстЗапросаВТ = "ВЫБРАТЬ
                             |    ВзносыВФонды.Сотрудник.Физлицо КАК ФизЛицо,
                             |    ВзносыВФонды.Сотрудник,
                             |    ВзносыВФонды.Налог,
                             |    НАЧАЛОПЕРИОДА(ВзносыВФонды.БазовыйПериодНачало, МЕСЯЦ) КАК БазовыйПериодНачало,
                             |    ЕСТЬNULL(Проводки.СчетДт, Проводки.СчетДт) КАК СчетДт,
                             |    ЕСТЬNULL(Проводки.СубконтоДт1, Проводки.СубконтоДт1) КАК СубконтоДт1,
                             |    ЕСТЬNULL(Проводки.СубконтоДт2, Проводки.СубконтоДт2) КАК СубконтоДт2,
                             |    ЕСТЬNULL(Проводки.СубконтоДт3, Проводки.СубконтоДт3) КАК СубконтоДт3,
                             |    ЕСТЬNULL(Проводки.СчетКт, Проводки.СчетКт) КАК СчетКт,
                             |    ЕСТЬNULL(Проводки.СубконтоКт1, Проводки.СубконтоКт1) КАК СубконтоКт1,
                             |    ЕСТЬNULL(Проводки.СубконтоКт2, Проводки.СубконтоКт2) КАК СубконтоКт2,
                             |    ЕСТЬNULL(Проводки.СубконтоКт3, Проводки.СубконтоКт3) КАК СубконтоКт3,
                             |    ЕСТЬNULL(Проводки.СчетДтНУ, Проводки.СчетДтНУ) КАК СчетДтНУ,
                             |    ЕСТЬNULL(Проводки.СубконтоДтНУ1, Проводки.СубконтоДтНУ1) КАК СубконтоДтНУ1,
                             |    ЕСТЬNULL(Проводки.СубконтоДтНУ2, Проводки.СубконтоДтНУ2) КАК СубконтоДтНУ2,
                             |    ЕСТЬNULL(Проводки.СубконтоДтНУ3, Проводки.СубконтоДтНУ3) КАК СубконтоДтНУ3,
                             |    ЕСТЬNULL(Проводки.СчетКтНУ, Проводки.СчетКтНУ) КАК СчетКтНУ,
                             |    ЕСТЬNULL(Проводки.СубконтоКтНУ1, Проводки.СубконтоКтНУ1) КАК СубконтоКтНУ1,
                             |    ЕСТЬNULL(Проводки.СубконтоКтНУ2, Проводки.СубконтоКтНУ2) КАК СубконтоКтНУ2,
                             |    ЕСТЬNULL(Проводки.СубконтоКтНУ3, Проводки.СубконтоКтНУ3) КАК СубконтоКтНУ3,
                             |    СУММА(ВзносыВФонды.Результат) КАК Результат
                             |ПОМЕСТИТЬ ВТПроводки
                             |ИЗ
                             |    РегистрРасчета.ВзносыВФонды КАК ВзносыВФонды
                             |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпособыОтраженияЗарплатыВРеглУчете КАК Проводки
                             |        ПО ВзносыВФонды.ВидРасчета.СпособОтраженияВБухучете = Проводки.Ссылка
                             |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ПериодСрез, Сотрудник В (&ПарамСотрудники)) КАК РаботникиОрганизацийСрезПоследних
                             |        ПО ВзносыВФонды.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
                             |ГДЕ
                             |    ВзносыВФонды.ПериодРегистрации = &парамПериодРегистрации
                             |    И ВзносыВФонды.Сотрудник В(&парамСотрудники)
                             |    И ВзносыВФонды.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ВзносыФОТ)
                             |
                             |СГРУППИРОВАТЬ ПО
                             |    ВзносыВФонды.Сотрудник,
                             |    ВзносыВФонды.Налог,
                             |    НАЧАЛОПЕРИОДА(ВзносыВФонды.БазовыйПериодНачало, МЕСЯЦ),
                             |    ЕСТЬNULL(Проводки.СчетДтНУ, Проводки.СчетДтНУ),
                             |    ЕСТЬNULL(Проводки.СубконтоДтНУ1, Проводки.СубконтоДтНУ1),
                             |    ЕСТЬNULL(Проводки.СубконтоДтНУ2, Проводки.СубконтоДтНУ2),
                             |    ЕСТЬNULL(Проводки.СубконтоДтНУ3, Проводки.СубконтоДтНУ3),
                             |    ЕСТЬNULL(Проводки.СчетКтНУ, Проводки.СчетКтНУ),
                             |    ЕСТЬNULL(Проводки.СубконтоКтНУ1, Проводки.СубконтоКтНУ1),
                             |    ЕСТЬNULL(Проводки.СубконтоКтНУ2, Проводки.СубконтоКтНУ2),
                             |    ЕСТЬNULL(Проводки.СубконтоКтНУ3, Проводки.СубконтоКтНУ3),
                             |    ЕСТЬNULL(Проводки.СубконтоДт1, Проводки.СубконтоДт1),
                             |    ЕСТЬNULL(Проводки.СчетДт, Проводки.СчетДт),
                             |    ВзносыВФонды.Сотрудник.Физлицо,
                             |    ЕСТЬNULL(Проводки.СубконтоДт2, Проводки.СубконтоДт2),
                             |    ЕСТЬNULL(Проводки.СубконтоДт3, Проводки.СубконтоДт3),
                             |    ЕСТЬNULL(Проводки.СчетКт, Проводки.СчетКт),
                             |    ЕСТЬNULL(Проводки.СубконтоКт1, Проводки.СубконтоКт1),
                             |    ЕСТЬNULL(Проводки.СубконтоКт2, Проводки.СубконтоКт2),
                             |    ЕСТЬNULL(Проводки.СубконтоКт3, Проводки.СубконтоКт3),
                             |    Проводки.СчетКт";

        Запрос.Текст = ТекстЗапросаВТ;
        Запрос.Выполнить();
        ТекстЗапросаВТПроводки = "ВТПроводки";
    КонецЕсли;
        Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТПроводки";
    
        
    ТекстЗапроса = "
    |ВЫБРАТЬ
    |    ВзносыВФонды.Сотрудник                    КАК Сотрудник,
    |    ВзносыВФонды.Налог                        КАК Налог,
    |    ВзносыВФонды.БазовыйПериодНачало        КАК БазовыйПериодНачало,
    |    ВзносыВФонды.СчетДт КАК СчетДт,
    |    ВзносыВФонды.СубконтоДт1,
    |    ВзносыВФонды.СубконтоДт2,
    |    ВзносыВФонды.СубконтоДт3,
    |    ВзносыВФонды.СчетКт,
    |    ВзносыВФонды.СубконтоКт1,
    |    ВзносыВФонды.СубконтоКт2,
    |    ВзносыВФонды.СубконтоКт3,
    |    ВзносыВФонды.СчетДтНУ КАК СчетДтНУ,
    |    ВзносыВФонды.СубконтоДтНУ1,
    |    ВзносыВФонды.СубконтоДтНУ2,
    |    ВзносыВФонды.СубконтоДтНУ3,
    //|    ВзносыВФонды.Сотрудник.ФизЛицо             КАК СубконтоДтНУ1,
    |    ВзносыВФонды.СчетКтНУ,
    |    ВзносыВФонды.СубконтоКтНУ1,
    |    ВзносыВФонды.СубконтоКтНУ2,
    |    ВзносыВФонды.СубконтоКтНУ3,
    |    ВзносыВФонды.Результат           КАК Результат
    |
    |ИЗ    ВТПроводки КАК ВзносыВФонды
    |
    |    
    |
    |УПОРЯДОЧИТЬ ПО    
    |    Сотрудник,
    |    ВЫБОР    КОГДА ВзносыВФонды.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КредиторскаяЗадолженностьПередПерсоналомКраткосрочная)  ТОГДА 1
    |            ИНАЧЕ ВзносыВФонды.СчетДт КОНЕЦ
    |    
    |";
    
    Запрос.Текст = ТекстЗапроса;
    
    
    
    //Запрос.Выполнить().Выгрузить().ВыбратьСтроку();
    ZED =  Запрос.Выполнить().Выгрузить() ;
    
    ВзносыФОТПроводки.Загрузить(ZED);
    
    Записать();

    
КонецПроцедуры  // РассчитатьВзносы()

суббота, 16 января 2021 г.

Тофик Бухгалтерия Аз - расчет и проведение удержаний по безработице и обязательного мед страхования в документе больничного

 Тофик Бухгалтерия Аз - расчет и проведение  удержаний по безработице и обязательного мед страхования в документе больничного



Функция СформироватьЗапросПоОтражениюВУчете()
    
    Запрос = Новый Запрос();
    
    
    Если ОтражатьВНалоговомУчете Тогда
        ПоказателиДляНУ = "
    |    ОтражениеЗарплаты.СчетДтНУ                КАК СчетДтНУ,
    |    ОтражениеЗарплаты.СчетДтНУ.Наименование    КАК НаименованиеСчетДтНУ,
    |    ОтражениеЗарплаты.СубконтоДтНУ1            КАК СубконтоДтНУ1,
    |    ОтражениеЗарплаты.СубконтоДтНУ2            КАК СубконтоДтНУ2,
    |    ОтражениеЗарплаты.СубконтоДтНУ3            КАК СубконтоДтНУ3,
    |    ОтражениеЗарплаты.СчетКтНУ                КАК СчетКтНУ,
    |    ОтражениеЗарплаты.СубконтоКтНУ1            КАК СубконтоКтНУ1,
    |    ОтражениеЗарплаты.СубконтоКтНУ2            КАК СубконтоКтНУ2,
    |    ОтражениеЗарплаты.СубконтоКтНУ3            КАК СубконтоКтНУ3,";
    КонецЕсли;

Процедура ДействияФормыДействиеРассчитатьУдержания(Кнопка)
    
    Если Не РасчетДокументаРазрешен() Тогда
        Возврат
    КонецЕсли;
    
    Если НЕ РаботаСДиалогами.ЗаписатьДокументОтменивПроведениеПередВыполнениемДействия(ДокументОбъект, ЭтаФорма, НСтр("ru='рассчитать';uk='розрахувати'")) Тогда
        Возврат;
    КонецЕсли;
    
    КомментироватьРасчет = Ложь;
    мСотрудники = Новый СписокЗначений;
    
    // РассчитатьПоРаботнику
    Для каждого СтрокаСотрудник Из ЭлементыФормы.РаботникиОрганизации.ВыделенныеСтроки Цикл
        мСотрудники.Добавить(СтрокаСотрудник.Сотрудник) ;
    КонецЦикла;
    
    Если Кнопка.Имя = "РассчитатьПоРаботникуСКомментарием" Тогда
        КомментироватьРасчет = Истина;
    КонецЕсли;
     ОбработкаКомментариев2=обработки.СообщенияВыполняемыхДействий.Создать();
    
     //ЗаполнитьЗначение(ОбработкаКомментариев2,  глЗначениеПеременной("глОбработкаСообщений"));
    ОбработкаКомментариев2.УдалитьСообщения();
    РассчитатьВсеУдержания(мСотрудники, КомментироватьРасчет);
ОбработкаКомментариев2.ПоказатьСообщения();

    

1С УПП , списание административных расходов на финансовый результат

 При проведение месяца, при определение финансовых результатов не формируются проводки: D 801.1  K 721.1 D 801.1  K 721.3