×
Показано с 1 по 22 из 22
  1. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20

    Как в 1с7 ЗиК сделать надбавку к з/п в размере не превышающем установленного

    Как в 1с7 ЗиК сделать надбавку к з/п в размере не превышающем установленного

    З/п начисляется разными способами.
    Существует надбавка в сумме 6 тыс., которая начисляется пропорционально отработанному времени. Но она не может быть больше 6 тыс., даже если сотрудник отработал к примеру больше смен, чем ему положено.
    Как это сделать в "расчет зарплаты" "виды расчетов", закладка "дополнительно".

    Когда ввела этот новый вид расчетов, то сотруднику отработавшему больше смен, чем установлено, программа посчитала надбавку в сумме 7500, а надо не более 6 тыс.(((
    Поделиться с друзьями

  2. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    в ГМ в глВыполнитьПроизвольныйРасчет в куске условия:
    Если Порядок = Перечисление.ХарактерНачисления.Суммой Тогда
    // суммой, пропорционально отработанному времени... - с учетом дней

    вместо ДнейПоДоплате/НормаДней в строке:
    Результат = Результат + глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты)*Ставка*ДнейПоДоплате/НормаДней;

    в конце пробить:
    Мин(ДнейПоДоплате/НормаДней,1)

  3. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    Цитата Сообщение от Генук Посмотреть сообщение
    в ГМ в глВыполнитьПроизвольныйРасчет в куске условия:
    Если Порядок = Перечисление.ХарактерНачисления.Суммой Тогда
    // суммой, пропорционально отработанному времени... - с учетом дней

    вместо ДнейПоДоплате/НормаДней в строке:
    Результат = Результат + глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты)*Ставка*ДнейПоДоплате/НормаДней;

    в конце пробить:
    Мин(ДнейПоДоплате/НормаДней,1)
    Не поняла где такое ГМ в глВыпонить?

  4. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    ГМ - глобальный модуль
    глВыполнитьПроизвольныйРасчет - процедура

  5. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    Просто в 1с7 второй раз всего, а ГМ в упор не нахожу(((

  6. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    прог у хате е?

  7. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    ?

  8. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    Очень прошу помогите)
    1с 7 ЗиК ред. 2.3
    Последний раз редактировалось pashinskaya; 01.04.2011 в 09:11.

  9. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    откройте программу в режиме конфигуратора и сделайте резервную копию:
    Администрирование - Выгрузить данные (не загрузить! а строго выгрузить)

  10. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    поняла, а потом

  11. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    скажете, когда сделаете

  12. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    сделала

  13. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    там же в конфигураторе:
    1. Конфигурация - Открыть конфигурацию
    2. Действия - Глобальный модуль
    3. вверху биноклик поиска... набейте в строке ДнейПоДоплате/НормаДней
    сразу попадёте куда надо
    4. сделайте #2
    5. сохраняйте... открывайте обычный рабочий режим... проверяйте расчёт

  14. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    НАШЕЛ ВОТ ЭТО


    Иначе
    ДатаОкончанияИнтервала = ДатаОкончанияДоплаты;
    КонецЕсли;

    ДнейПоДоплате = глПолучитьКоличествоФактическиОтработанныхДнейЧасов(МассивДней, ДатаНачалаИнтервала, ДатаОкончанияИнтервала,,ДатаНачалаДоплаты);
    Ставка = ЖурналРасчетов.Объект.Ставка.Получить(ДатаОкончанияИнтервала);
    Если Ставка <> 1 Тогда
    глСообщениеТрассировки(глСообщенияТрассировки, "По состоянию на _П01 работник занимал: "+ Ставка + " "+ Нрег(глФормаМножественногоЧисла("ставку","ставки","ставок", Ставка)), 0, 1, ДатаОкончанияИнтервала, "ДДДММММГГГГ");
    КонецЕсли;
    Результат = Результат + глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты)*Ставка*ДнейПоДоплате/НормаДней;
    КонецЦикла;

    Иначе

    ДнейПоДоплате = глПолучитьКоличествоФактическиОтработанныхДнейЧасов(МассивДней, ДатаНачалаДоплаты, ДатаОкончанияДоплаты,,ДатаНачалаДоплаты);
    глСообщениеТрассировки(глСообщенияТрассировки, "Отработано дней: " + ДнейПоДоплате , 0, 0);
    Результат = глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты);
    Результат = Результат / НормаДней * ДнейПоДоплате;
    КонецЕсли;

    ИначеЕсли (ДатаНачалаДоплаты = ЖрнЗарплата.НачалоПериодаПоДате(ДатаНачалаДоплаты)) и (ДатаОкончанияДоплаты = ЖрнЗарплата.КонецПериодаПоДате(ДатаОкончанияДоплаты)) Тогда
    ДнейПоДоплате = МассивДней[НомерДняПериода(ДатаНачалаДоплаты,ДатаНачалаДоплаты)+1]; // всего дней из документа Табель
    глСообщениеТрассировки(глСообщенияТрассировки, "Отработано дней: " + ДнейПоДоплате , 0, 0);
    Результат = глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты);
    Если ДокументИзЖурнала.Вид()="НачислениеЗаработнойПлаты" Тогда

  15. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    Здесь где?

  16. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    Не то?

  17. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    Результат = Результат + глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты)*Ставка*ДнейПоДоплате/НормаДней;

    вместо
    ДнейПоДоплате/НормаДней

    будет
    Мин(ДнейПоДоплате/НормаДней,1)

  18. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    исправила, а как сохранить?

  19. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    стандартно... кнопка с дискетой или просто закройте - сама предложит сохраниться...

  20. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    Цитата Сообщение от Генук Посмотреть сообщение
    в ГМ в глВыполнитьПроизвольныйРасчет в куске условия:
    Если Порядок = Перечисление.ХарактерНачисления.Суммой Тогда
    // суммой, пропорционально отработанному времени... - с учетом дней

    [/B]
    А это тоже менять?

  21. бухгалтер Аватар для Генук
    Регистрация
    07.11.2007
    Адрес
    увы... не Питер
    Сообщений
    38,613
    нет...

    Результат = Результат + глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты)*Ставка*Мин(ДнейПоДоплате/НормаДней,1);

    единственное, что требуется - только семь раз щёлкнуть по клавишам клавиатуры, добавив Мин( и ,1)

  22. Клерк
    Регистрация
    30.03.2011
    Сообщений
    20
    спасибо большое!!!!
    все получилось!

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)