Деноминация оборотов и остатков в 1С7.7 (Беларусь)

Опубликовал Анна Шульман (aselik) в раздел Обработки - Обработка документов

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

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

В справочниках необходимые непериодические реквизиты делятся на 10000, а для периодических реквизитов добавляется на 30.06.16 новое значение, которое равно последнему, деленному на 10000. 

Обработка может запускаться несколько раз, повторная деноминация сумм не произойдет.

Требуются небольшие добавления в конфигурацию, которые потом можно удалить.

Также нужно минимальное вмешательство в код самой обработки, чтобы прописать недостающие справочники и реквизиты.


Порядок действий

1.Проставить точность 2 в реквизитах, хранящих суммы и цены.

2.Добавить для документов общий реквизит «Деноминирован», число 1,0 неотрицательное

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

4.Добавить документ «Остатки по счету».

Идентификатор: ОстаткиПоСчету

Шапка:

Счет, тип Счет основного плана счетов

 Таблица:

Субконто1, Субконто2, Субконто3  - тип «Неопределенный»;

СуммаДебетДо, СуммаДебетПосле, СуммаКредитДо, СуммаКредитПосле – Число 19,2.

 

СуммаДебетПосле и СуммаКредитПосле – содержат остатки, которые установятся после деноминации, после проведения корректировки остатков. Их можно подправить вручную, если что-то не устраивает.

См.рис.2 и рис.3

4.Сделать копию базы.

5.Одна база – старая - будет хранить данные до 1.07.16. В ней работаем до тех пор, пока не закроем июнь. После 1 июля придется работать в двух базах. Как переносить данные из старой базы в новую - это отдельная тема про перенос данных.

6.Вторая база – новая – станет после 1 июля основной рабочей базой. Суммы всех проводок в ней будут поделены на 10000, а остатки скорректированы, чтобы сравняться с остатками до деноминации. Если база большая и обработка всех проводок невозможна, то надо обрезать несколько начальных лет.

7.В новой базе запускаем обработку. Рис.1

Что делает обработка:

а) Кнопка «1. Записать остатки до деноминации» создает для каждого счета документ «Остатки по счету». Номер документа – это код счета, его менять нельзя. Если нужно выполнить операцию повторно, то документы нужно пометить на удаление.

б) Кнопка «2.Деноминация проводок» делит все проводки за указанный период на 10000. Процедуру можно запускать несколько раз за один и тот же период, повторного деления не будет, потому что для каждого документа после успешной деноминации проводок устанавливается флаг «Деноминирован». Можно еще сделать обработку каждой операции в транзакции, но это будет медленней. Поэтому эти строки закомментированы.

Внимание!!! Реквизиты документов не изменяются, поэтому надо обязательно поставить запрет на перепроведение старых документов.

в) Кнопка «3.Деноминация реквизитов справочников» у заданных справочников делит заданные непериодические реквизиты на 10000, а для периодических реквизитов добавляет на 30.06.16 новое значение, которое равно последнему, деленному на 10000.

Возможно здесь вам понадобиться дописать в тексте программы пару строк для ваших особых справочников. Сейчас обработка делает деноминацию для справочников: ОС, Материалы, МБП, Номенклатура, Оборудование, ДенежныеДокументы. Если у вас есть какие-то другие справочники, реквизиты которых подлежат деноминации, то читаем следующий абзац.

В процедуре ДеноминацияСправочники() для каждого справочника задаем две строковые переменные: одна содержит обычные реквизиты, вторая – периодические. Имена реквизитов заключены в двойные кавычки, потому что эти строки будут преобразованы в список значений. Затем нужно при необходимости дописать вызов процедуры ДеноминацияСпр для тех справочников, которые подлежат деноминации в вашей базе.

Если нужно деноминировать реквизиты подчиненного справочника, то нужно внести исправления в  процедуру ДеноминацияСпр(). Там есть заготовка, это самый конец процедуры. Нужно подставить идентификатор своего справочника и указать его реквизиты.

Деноминацию реквизитов также можно безопасно производить несколько раз. Повторной деноминации не будет.

В документах «Курсы валют» проставляется кратность 10000 по всем датам.

д) Кнопка «4.Корректировка остатков» корректирует остатки до «эталонных», которые указаны в документах «Остатки по счету» в колонках СуммаДебетПосле и СуммаКредитПосле.

Разница относится на указанный счет разницы и его субконто. Для каждого счета создается ручная операция за 30.06.16. Содержание операции – это код счета. Если нужно запустить процедуру повторно, то существующие операции нужно удалить.

Можно запустить корректировку остатков для одного счета – его нужно указать в поле «Выбранный счет».

8.Деноминацию мы проводим, когда нет еще остатков по счетам. Поэтому, когда июнь закроется, надо в старой базе выполнить действие из п.7а. Потом перебросить документы Остатки по счетам в новую базу. Удалить корректировочные операции и создать новые корректировки, выполнив п.7д.

 

Скачать файлы

Наименование Файл Версия Размер
Деноминация 1С7.7
.ert 78,50Kb
12.06.16
42
.ert 78,50Kb 42 Скачать
Инструкция к обработке Деноминация 1С7.7
.docx 102,26Kb
12.06.16
26
.docx 102,26Kb 26 Скачать

См. также

Комментарии
1. иван иванов (novichok20) 3 13.06.16 10:44 Сейчас в теме
А как насчет изменения метаданных в документах,спр-ках?
2. Александр Губанов (gubanoff) 42 13.06.16 10:59 Сейчас в теме
3. Анна Шульман (aselik) 22 13.06.16 11:07 Сейчас в теме
(1) novichok20, Вы имеете ввиду изменение точности? Это уже каждый сам делает.
4. Анна Шульман (aselik) 22 13.06.16 11:08 Сейчас в теме
(2) gubanoff, Спасибо, привет ИС!
5. andrei koralev (pioner111) 1 23.06.16 16:36 Сейчас в теме
Доброго дня. Не понимаю как работает корректировка. Можете поподробнее объяснить ?
6. Анна Шульман (aselik) 22 23.06.16 19:51 Сейчас в теме
(5) pioner111, Вы читаете описание. Какое предложение не понятно?
7. andrei koralev (pioner111) 1 24.06.16 08:20 Сейчас в теме
Всё делаю как написано .... в результате корректировки создаются операции которые увеличивают сальдо на миллионы.
8. Анна Шульман (aselik) 22 24.06.16 08:55 Сейчас в теме
(7) pioner111, Ну, тут без базы не разберешься. Если хотите, посмотрю, выложите на облако.
9. Анна Шульман (aselik) 22 24.06.16 14:50 Сейчас в теме
Выявлена небольшая недоработка. Нужно заменить функцию РассчитатьДеном(), чтобы она учитывала отрицательное сальдо (на всякий случай).

Функция РассчитатьДеном(Сумма)   
	
	Если Сумма = 0 Тогда
		Возврат 0;
	КонецЕсли;
	                         
	Если Сумма < 0 Тогда
		Сумма1 = МИН(ОКР(Сумма / Порядок, 2), -0.01);
	Иначе
		Сумма1 = МАКС(ОКР(Сумма / Порядок, 2), 0.01);
	КонецЕсли;
	
	Возврат Сумма1; 
	
КонецФункции
...Показать Скрыть
10. andrei koralev (pioner111) 1 24.06.16 14:58 Сейчас в теме
11. Анна Шульман (aselik) 22 24.06.16 16:02 Сейчас в теме
13. Алексей С (user589919_digitta) 14.07.16 18:48 Сейчас в теме
Доброго времени.
Скажите, будет ли обработка работать в древней 1С 6.0?
14. Soldatenkov Roman (user594872_rso) 16.09.16 10:17 Сейчас в теме
добрый день, как можно связаться с разработчиком? делаем всё по инструкции, деноминируются остатки с начала года, а не с 30 июня.
15. Анна Шульман (aselik) 22 16.09.16 14:35 Сейчас в теме
Именно, обработкой деноминируются не остатки, а обороты. А после этого остатки корректируются.
16. Soldatenkov Roman (user594872_rso) 27.09.16 15:49 Сейчас в теме
(15) aselik, Анна, спасибо за пояснение, а как правильно получить результат с 30 июля? Можно ли с вами связаться и за дополнительную плату получить готовый результат?
17. Анна Шульман (aselik) 22 27.09.16 20:54 Сейчас в теме
(16) user594872_rso, Извините, сейчас нет времени. Я рассчитывала, что с обработкой будет работать программист, там требуется определенное вмешательство.