Две простенькие функции для правильного учета сторно-записей и записей-перерасчетов

Публикация № 81759 19.02.11

Разработка - Универсальные функции

Часто при подсчете дней по записям журнала расчетов "Зарплата" берется знак "+" или "-" в зависимости от признака сторно-записи. Но рано или поздно результат получится ошибочным.

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

//******************************************************************************
// глКоэффСторно(Знач ЗаписьЖР,Коэфф=1)
//
// Параметры: 
// ЗаписьЖР - ссылка на запись журнала расчетов
// ВозвращаемоеЗначение - если сторно, тогда вернет -1, иначе 1
//
Функция глКоэффСторно(Знач ЗаписьЖР,Коэфф=1) Экспорт
      Если ЗаписьЖР.Сторно = 1 Тогда
           Возврат глКоэффСторно(ЗаписьЖР.ПервичнаяЗапись,-Коэфф);
     КонецЕсли;
     Возврат Коэфф;
КонецФункции



Тогда вместо конструкции:

Дней = Дней + (ЖрнЗарплата.ДатаОкончания - ЖрнЗарплата.ДатаНачала + 1) * ?(ЖрнЗарплата.Сторно = 1,-1,1);

следует написать:

Дней = Дней + (ЖрнЗарплата.ДатаОкончания - ЖрнЗарплата.ДатаНачала + 1) * глКоэффСторно(ЖрнЗарплата.ТекущаяЗапись());

Предварительно, перед использованием функции глКоэффСторно() нужно отсеять записи перерасчета. Но с признаком "перерасчет" похожая ситуация. Поэтому ниже предлагается текст функции для определения записи-перерасчета:

//******************************************************************************
// глЭтоЗаписьПерерасчета(Знач ЗаписьЖР)
//
// Параметры: 
// ЗаписьЖР - ссылка на запись журнала расчетов
// ВозвращаемоеЗначение - если перерасчет, тогда вернет 1, иначе 0
//
Функция глЭтоЗаписьПерерасчета(Знач ЗаписьЖР) Экспорт
     Если (ЗаписьЖР.Перерасчет = 1) и (ЗаписьЖР.Сторно = 0) Тогда
          Возврат 1;
     ИначеЕсли (ЗаписьЖР.Сторно = 1) и (ЗаписьЖР.ПервичнаяЗапись.Перерасчет = 1) Тогда
          Возврат глЭтоЗаписьПерерасчета(ЗаписьЖР.ПервичнаяЗапись);
     КонецЕсли;
     Возврат 0;
КонецФункции

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. jack19 148 21.02.11 14:24 Сейчас в теме
Часто при подсчете дней по записям журнала расчетов "Зарплата" берется знак "+" или "-" в зависимости от признака сторно-записи. Но рано или поздно результат получится ошибочным.


Перейти к публикации

1. Nicholas 872 21.02.11 14:24 Сейчас в теме
Начинаю верить в судьбу, божий промысел и т.п.:
Для отчета по отпускам возникла необходимость написать подобную функцию, перед написанием решил почитать новости и...
Вот она, готовая функция!
Алилуя! :)
Оставьте свое сообщение

См. также

1С 7.7 и новый 1С:Контрагент

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    1069    zhenyat    7    

6

Печать таблицы значений в 1С 7.7 при отладке

Универсальные функции Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    3202    Zoltan_Black    11    

0

Проверка часового пояса

Информационная безопасность Универсальные функции Платформа 1С v7.7 Бесплатно (free)

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.

16.05.2016    12321    kudenzov    3    

10

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Процедура расшифровки ячейки таблицы в отчетах 1С 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.

24.09.2015    20159    Anzhey    14    

12

Универсальный способ сравнения таблиц

Универсальные функции Запросы Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

На эту тему уже есть статьи, но этот способ нигде не описан. Хотя я его использую с тех пор, как занимаюсь программированием. Его преимущество в простоте и универсальности: можно применять на 1С, SQL, а также в любом другом языке программирования.

05.07.2015    20971    json    3    

19

Числа прописью в родительном падеже в 7.7? Легко!

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.

20.06.2015    13843    gimalaj    3    

14

Исправление в типовой комплексной конфигурации глобальной функции глВсеРеквизитыДокументаЗаполнены()

Универсальные функции Платформа 1С v7.7 1С:Комплексная 7.7 Россия Бесплатно (free)

В типовых конфигурациях глобальная функция глВсеРеквизитыДокументаЗаполнены() не работает с реквизитами табличной части. Данная статья содержит текст исправленной функции, корректно проверяющей табличную часть.

20.08.2014    8480    hvv2002    0    

4

Проверка ИНН v.7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Проверка ИНН, есть наверняка куча аналогов, для v.8.x точно есть и не один.

08.03.2014    10097    kras_71    0    

3

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Полезные функции. Склонение (должность и фамилия подписантов). Любой язык

Универсальные функции Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Уехал директор в командировку, отпуск... , оставил доверенность на хозяйственные операции на другого сотрудника. Все договора и другие документы в обмороке - "подписант" теперь другой, по тексту тоже много правок... Пересмотрел много публикаций, вариантов много, не приглянулось. Сделал свой "Баян" . У меня всего-то крутится пять фигурантов ... Нет простого, наглядного и всепогодного варианта без языкового барьера. Всем процессом управляет пользователь.

03.03.2014    18823    kompas-dm    5    

3

Устранение проблемы при работе с полем, которое ограничено маской ввода

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

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

08.08.2012    18135    www2000    4    

4

Скрытие помеченных на удаление в справочнике

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

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

08.08.2012    15285    mikukrnet    7    

6

Исправление и проведение документов

Универсальные функции Механизмы типовых конфигураций Бухгалтерский учет 7.7 1С:Производство+Услуги+Бухгалтерия Россия Бесплатно (free)

Исправление и проведение документов, например, счетов-фактур, введенных на основании документов реализации, можно организовать многими способами. Описан сравнительно простой подход, реализованный и работающий несколько лет в реальной бухгалтерии 1Cv7.7. Без внешних компонентов.

23.07.2012    13973    BorisBelov    11    

5

Получение характеристик и управление текущим процессом 1С на основе WMI

Универсальные функции Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Бесплатно (free)

Функционал для работы из 1С с текущим процессом класса Win32_Process. Пример получает текущее значение ОЗУ занятое процессом 1С. По описанной методике можно получать значения пиковых нагрузок на ОЗУ, время запуска текущей сессии 1С с точностью до миллисекунд. Определять загрузку активного ядра процессом и даже поменять приоритет самого процесса.

09.07.2012    22316    dusha0020    8    

38

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7)

Универсальные функции OpenConf Бухгалтерский учет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7). Данную функцию можно вставить в Глобальный модуль и пользоваться, например, при вводе или сохранении e-mail.

30.10.2011    11976    zaursoft    11    

15

Неправильное изменение категории плательщика ПФР при проведении справки МСЭК

Зарплата Механизмы типовых конфигураций Универсальные функции Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

В ЗиК (релиз 314) при проведении документа "Справка МСЭК" вкралась ошибка: проведение некорректно изменяет категорию плательщика ПФР на "Работник сельскохозяйственной организации - инвалид", затем на "Работник колхоза, совхоза и другого сельскохозяйственного предприятия". Связано это с разными типами ожидаемого и возвращаемого перечисления в функции "глКатегорияПФР": "КатегорияПлательщикаПФ" и "КатегорииЗастрахованныхЛицПФР". Решение: изменить функцию "глКатегорияПФР" (около 2932-й строки).

17.10.2011    6705    Krokokot    3    

6

Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8

Универсальные функции Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Бесплатно (free)

Как известно, при OLE обмене доступны только типы СТРОКА, ЧИСЛО, ДАТА. А вот БУЛЕВО (ИСТИНА, ЛОЖЬ) использовать при подключении из 7.7 к 8 не получается. Как же быть? Есть хитрость, как использовать тип булево в семерке при обмене с 1С8! :)

28.09.2011    17933    dnikolaev    8    

18

Дата запрета редактирования

Универсальные функции Бухгалтерский учет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

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

15.07.2011    11003    natalika1601    14    

17

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Форма 1-НДФЛ для 2011 года (Зарплата и Кадры 7.7, релиз 310)

Зарплата Универсальные функции Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бухгалтерский учет НДФЛ Бесплатно (free)

В прежних релизах была возможность из справочника "Сотрудники" сформировать форму 1-НДФЛ по кнопке "Ввод данных" (там была возможность расшифровки сумм). Вернём полезную функцию!

29.04.2011    7252    Q-Q    9    

29

Программное изменение текста в надписях Word

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Печатная форма договора в шаблоне Word. Реквизиты в 1С. Заполнение шаблона реквизитами: все стандартно, но в надписях долго получалось. Получилось :) Может кому пригодится.

06.12.2010    18763    АннаШ    10    

27

Подбор свободного кода справочника "Номенклатура" без захвата одного и того же кода несколькими операторами.

Универсальные функции Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Бесплатно (free)

При использовании в справочнике Номенклатура конструкции подбора не занятых кодов менее максимального, при работе нескольких операторов возникла проблема захвата одного и того же кода, если не использовать Записать() при создании нового элемента.

05.11.2010    10170    Rusk51    10    

1

Быстрый подсчет элементов справочника

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

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

18.10.2010    26984    brr    11    

18

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Мьютексы в 1С 7.7

Файловый обмен (TXT, XML, DBF), FTP Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Бесплатно (free)

Существует ряд задач, которые требуют строго последовательного исполнения. Чаще всего это возникает при многопоточном программировании, в этом случае используются критические секции, но иногда надо синхронизировать и разные приложения - для этого существуют такие объекты ядра операционной системы как Мьютекс-ы. http://ru.wikipedia.org/wiki/Мьютекс В статье рассказывается как можно сделать аналогичный объект средствами 1С v7.7

02.07.2010    14476    Sk0rp    24    

10

ТаблицаЗначений в виде сводной таблицы

Универсальные функции Бухгалтерский учет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Зарегистрирован: 15 апр 2009, 07:58 Сообщений: 26 Очень часто приходилось преобразовывать ТаблицуЗначений в вид, наподобие Сводной таблицы в Excel (типа шахматки). Для себя написал функцию, которая этим как раз и занимается. Возможно кому-то и пригодится.

08.06.2010    19294    79044970523    8    

12

Фильтрация иерархического справочника по какому-либо условию в форме списка

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Перед 1С программистами порой встаёт задача реализовать фильтрацию справочника по какому-нибудь условию прямо в форме списка (Например "ФормаСписка" или "ДляПодбора"). Вот и передо мной, недавно, поставили такую задачу. Она оказалась не такой уж и тривиальной, особенно для иерархического справочника...

19.05.2010    14595    Antoska    19    

13

Как получить GUID без v7plus.dll в Предприятии 7.7

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Часто в терминальных сессиях у пользователю Windows не хватает прав на регистрацию v7plus.dll. Соответственно нельзя воспользоваться, например методом СоздатьGUID() класса V7SysInfo.

12.05.2010    15429    prolancer    5    

10

1C v7.7: Вывод на печать произвольной переменной типа "Таблица значений"

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Смотрю, "полку нашего прибыло" - стали публиковаться семерочные обработки по выводу таблицы значений на экран, когда поместить таблицу значений на форму или ВыбратьСтроку() по каким-то причинам не удовлетворяет. Это - описание глобальной процедуры, которая выводит любую таблицу значений в табличный документ, с которым уже можно работать дальше. Автор: Денис Горбунов, осень 2001 - осень 2003 Оригинал расположен на: http://faq1c.gorbunov.ru

14.04.2010    23225    v.l.    14    

12

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Алгоритм расчета периодов

Универсальные функции Математика и алгоритмы Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Вычисление периодов в формате ГГММДД. Вычисление дат по формуле Дата + ГГММДД. Примечание: Даты передаем в виде 'ДД.ММ.ГГГГ', периоды - "ГГ-ММ-ДД". Пользуйтесь.

10.03.2010    10211    arithmometr    1    

3

Простое решение проблемы с казахстанской кодировкой

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Казахстан Бесплатно (free)

Известно, что для того, чтобы работать в 1С с казахскими шрифтами, нужно изменить кодировку в ОС. Иногда это может быть не очень удобно.

22.01.2010    19036    Gvozdod    3    

8

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

"Быстрый" выбор периода в журнале

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Всего одна функция глобального модуля и у вас в каждом журнале появиться возможность в 2 клика выбрать любой месяц.

09.12.2009    11933    mdbm    11    

14

1С Предприятие 7.7 и Mozilla Thunderbird. Отправка писем из командной строки

Универсальные функции Email рассылки Оперативный учет 7.7 Бухгалтерский учет 7.7 Конфигурации 1cv7 1С:Бухгалтерия 7.7 Бесплатно (free)

Клиент захотел чтобы у него из 1С формировались письма с вложениями и отправлялись через Mozilla Thunderbird. Из этого вышла маленькая процедура.

30.11.2009    15299    kasperok    15    

5

Транслитерация в латиницу

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

При отправке SMSок из 1С столкнулся с тем, что текст отправлялся только латиницей, а данные-то в кириллице. В результате написал функцию перевода текста в латиницу. Может, кому-нибудь пригодится

02.10.2009    32276    yuraer    18    

42