Обработка распределения заработной платы на 20 счете в разрезе номенклатурных групп для Бухгалтерии 2.0

Обработка распределяет все затраты по заработной плате пропорционально объему выпуска по номенклатурным группам. Будет полезна при использовании переноса проводок из программы Зарплата и управление персоналом.

Анализируется 20-й счет, в документе «Отражение зарплаты в регламентированном учете».

9 Comments

  1. gutentag

    Плюс за идею, однозначный ! ! !

    Вопрос: если в организации несколько отделов выпускают продуцию/работы, услуги, ваша обработка это поймет?

    —————

    Пожелание: сделайте пожалуйста обработку совместимой с ЗУП-8.2, так как ИМХО методически правильнее распределять зарплату ЗУП-8.2

    Спасибо!

    Reply ↓
  2. a.suslov

    (1) gutentag, Если в организации несколько отделов — это несколько подразделений. В обработке предусмотрен отбор по подразделениям. По поводу распределения в ЗУП — проблематично, т.к. в качестве базы распределения используется кредит 20-ого счета (объем выпуска). А в зарплате выпуск не отображается.

    Reply ↓
  3. gutentag

    (2)

    По поводу распределения в ЗУП — проблематично, т.к. в качестве базы распределения используется кредит 20-ого счета (объем выпуска). А в зарплате выпуск не отображается

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

    Ваша обработка открывается в ЗУП, но с ошибками и номенклатурные группы можно ввести/добавить с суммами. Но с глюками

    ==================При выборе подразделения============

    {Форма.Форма.Форма(92)}: Ошибка при вызове метода контекста (Выполнить)

    Выборка = Запрос.Выполнить().Выбрать();

    по причине:

    по причине:

    {(6, 2)}: Таблица не найдена «РегистрБухгалтерии.Хозрасчетный.Обороты»

    <<?>>РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, , Счет = &Счет, , , , ) КАК ХозрасчетныйОбороты

    ===============При выборе номенклатурной группы ===========

    {Форма.Форма.Форма(119)}: Деление на 0

    ДанныеСтроки.ПроцентВыпуска = ДанныеСтроки.СуммаВыпуска*100/ПараметрыРаспределения.Итог(«СуммаВыпуска»);

    ========================= При нажатии на кнопку «Выполнить»============

    {Форма.Форма.Форма(8)}: Ошибка при вызове метода контекста (Получить)

    СтрТЧ = ДокОбъект.ОтражениеВУчете.Получить(ПеремЦикла);

    по причине:

    Значение индекса выходит за границы диапазона

    {Форма.Форма.Форма(8)}: Ошибка при вызове метода контекста (Получить)

    СтрТЧ = ДокОбъект.ОтражениеВУчете.Получить(ПеремЦикла);

    по причине:

    Значение индекса выходит за границы диапазона

    =============

    Reply ↓
  4. gutentag

    В Бухгалтерии(2.0.28.3)

    обработка дала ошибку

    ===========При нажатии на кнопку «Выполнить==========

    {Форма.Форма.Форма(8)}: Ошибка при вызове метода контекста (Получить)

    СтрТЧ = ДокОбъект.ОтражениеВУчете.Получить(ПеремЦикла);

    по причине:

    Значение индекса выходит за границы диапазона

    Reply ↓
  5. gutentag

    В Бухгалтерии(2.0.28.3)

    обработка дала ошибку

    ===========При нажатии на кнопку «Выполнить==========

    {Форма.Форма.Форма(8)}: Ошибка при вызове метода контекста (Получить)

    СтрТЧ = ДокОбъект.ОтражениеВУчете.Получить(ПеремЦикла);

    по причине:

    Значение индекса выходит за границы диапазона

    Reply ↓
  6. a.suslov

    (5) gutentag, смотр код, не могу понять … когда она может возникнуть. пробовал и на релизе 2.0.28.3 — работает. подскажите пожалуйста, а ошибка возникает при установленной галке «Удалять строки»?

    Reply ↓
  7. gutentag

    (6) ошибка в 5-сообщении возникает всегда.

    Если скините свой адрес (tettau «гав» маil,ru но лучше сказать адрес через личку), то пришлю тестовую базу

    Reply ↓
  8. Proger2008

    У меня та же проблема — ошибка в 5м сообщении возникает всегда

    Reply ↓
  9. sanyoq

    Исправление ошибки (в 5м сообщении). Необходимо изменить процедуру «КнопкаВыполнитьНажатие(Кнопка)» следующим образом:

    Процедура КнопкаВыполнитьНажатие(Кнопка)
    ДокОбъект = СсылкаНаОбъект.ПолучитьОбъект();
    МассивУдСтрок = Новый Массив;
    ТаблЗн = ДокОбъект.ОтражениеВУчете.Выгрузить();
    ТаблЗн.Очистить();
    Для Каждого СтрТЧ из ДокОбъект.ОтражениеВУчете Цикл
    Если СтрТЧ.СчетДт = СчетДт И СтрТЧ.ПодразделениеДт = ПодразделениеДт Тогда
    Для Каждого СтрВыпуск Из ПараметрыРаспределения Цикл
    СтрНовая = ТаблЗн.Добавить();
    СтрНовая.ВидНачисленияПоСт255НК = СтрТЧ.ВидНачисленияПоСт255НК;
    СтрНовая.ВидНачисленияУдержания = СтрТЧ.ВидНачисленияУдержания ;
    СтрНовая.ВидРасчета    = СтрТЧ.ВидРасчета;
    СтрНовая.ОтражениеВУСН   = СтрТЧ.ОтражениеВУСН;
    СтрНовая.ПодразделениеДт  = СтрТЧ.ПодразделениеДт;
    СтрНовая.ПодразделениеКт  = СтрТЧ.ПодразделениеКт;
    СтрНовая.СубконтоДт1   = СтрВыпуск.НоменклатурнаяГруппа;
    СтрНовая.СубконтоДт2   = СтрТЧ.СубконтоДт2;
    СтрНовая.СубконтоДт3   = СтрТЧ.СубконтоДт3;
    СтрНовая.СубконтоКт1   = СтрТЧ.СубконтоКт1;
    СтрНовая.СубконтоКт2   = СтрТЧ.СубконтоКт2;
    СтрНовая.СубконтоКт3   = СтрТЧ.СубконтоКт3;
    СтрНовая.СчетДт     = СтрТЧ.СчетДт;
    СтрНовая.СчетКт     = СтрТЧ.СчетКт;
    СтрНовая.Физлицо    = СтрТЧ.Физлицо;
    ПроцентВыпуска      = (СтрВыпуск.СуммаВыпуска*100/ПараметрыРаспределения.Итог(«СуммаВыпуска»))/100;
    СтрНовая.Сумма     = СтрТЧ.Сумма * ПроцентВыпуска;
    СтрНовая.СуммаВР    = СтрТЧ.СуммаВР * ПроцентВыпуска;
    СтрНовая.СуммаНУ    = СтрТЧ.СуммаНУ * ПроцентВыпуска;
    СтрНовая.СуммаПР    = СтрТЧ.СуммаПР * ПроцентВыпуска;
    КонецЦикла;
    Если УдалятьИсправленныеСтроки Тогда
    МассивУдСтрок.Добавить(СтрТЧ);
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    
    Для каждого ЭлМассива из МассивУдСтрок Цикл
    ДокОбъект.ОтражениеВУчете.Удалить(ЭлМассива);
    КонецЦикла;
    
    Для каждого СтрокаТЗ из ТаблЗн Цикл
    ДобСтр = ДокОбъект.ОтражениеВУчете.Добавить();
    ЗаполнитьЗначенияСвойств(ДобСтр, СтрокаТЗ);
    КонецЦикла;
    
    Если ДокОбъект.Проведен Тогда
    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
    Иначе
    ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
    КонецЕсли;
    
    ДокОбъект.ПолучитьФорму().Открыть();
    КонецПроцедуры
    

    Показать

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *