среда, 2 июня 2021 г.

План видов расчета

 

Планы видов расчета — это прикладные объекты конфигурации. Они используются в механизме сложных периодических расчетов и служат для описания видов расчета и их взаимного влияния друг на друга.

Структура

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

План видов расчета

Например, план видов расчета Начисления может выглядеть следующим образом:

План видов расчета

Создание и редактирование видов расчета может выполняться как разработчиком (предопределенные виды расчета), так и пользователем, в процессе работы с прикладным решением. Однако пользователь не может удалять виды расчета, созданные разработчиком.

Виды расчета, созданные в плане видов расчета, могут влиять друг на друга. Система поддерживает два вида такого влияния: зависимость по базовому периоду и вытеснение по периоду действия.

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

Кроме этих зависимостей, для вида расчета могут быть указаны так называемые ведущие виды расчета, — те, от которых он не зависит напрямую, но которые могут оказывать на него влияние через другие виды расчетов.

Формы плана видов расчета

Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в плане видов расчета, система поддерживает несколько форм его представления. Система может автоматически генерировать все нужные формы; наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:

План видов расчета

Форма списка

Для просмотра видов расчета используется форма списка. Она позволяет выполнять навигацию по списку, добавлять, помечать на удаление и удалять виды расчетов. Форма списка позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:

План видов расчета

Форма вида расчета

Для просмотра и изменения данных отдельных видов расчета используется форма вида расчета. Как правило, она представляет данные в удобном для восприятия и редактирования виде:

План видов расчета

Кроме этих двух форм для видов расчета поддерживается форма выбора конкретных видов расчета из списка. Она, обычно, содержит минимальный набор информации, необходимой для выбора того или иного вида расчета.

пятница, 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.ПоказатьСообщения();

    

1C - OLMAZ - XALQ CITY

 Ошибка при копирование документа: Общий модуль : ОбщегоНазначения Процедура ПриКопированииДокументаСВозможностьюРучногоРедактированияПриКоп...