Изменение валюты ведения учета в УНФ

01.02.15

Задачи пользователя - Корректировка данных

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
УдалениеДвиженийСуммовыхРегистров1.epf.7z
.7z 3,86Kb
10 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Задача:

Изменить валюту ведения учёта в работающей базе "Управление небольшой фирмой, редакция 1.4 (1.4.9.43)".

Размышления:

Чтобы изменить валюту штатным образом, нужно распровести все документы, поменять значение константы ВалютаУчета и провести документы заново. И это самый правильный путь! В теории. На практике же, во-первых, нужно распроводить/проводить в обратном/прямом хронологическом порядке (а штатного механизма для этого я не нашёл), а во-вторых, даже при распроведении в обратном хронологическом порядке есть очень большая вероятность нарваться на ошибки вида "не хватает остатка на складе" или "нет возможности зафиксировать взаиморасчеты с контрагентом". Ну и конечно же дополнительным "осложнением" может стать отслеживание, чтобы случайно не перемешать в базе документы трёх групп: проведённые, непроведённые и помеченные на удаление.

В общем, решил пойти "другим путём" (с).

Посмотрел, какие проверки выполняются программой при попытке изменить константу ВалютаУчета: в общей форме ФормаНастройкиДеньги есть Функция ОтказИзменитьВалютаУчета(), в которой идёт проверка наличия движений по жёстко прошитому списку "суммовых" регистров. Значит, если очистить эти движения, то можно будет поменять константу (документы при этом останутся как бы "проведёнными", но без движений). А после этого можно выполнить групповое перепроведение с помощью штатной обработки, чтобы восстановить движения документов.

Решение:

ВНИМАНИЕ: Использование описанной ниже методики потенциально может нарушить работоспособность вашей базы! Если  Вы решите воспользоваться данной методикой (на свой страх и риск!). то не забудьте, по крайней мере, сделать резервную копию базы данных!

Написал соответствующую обработку. В ней три кнопки: "Удалить" (удаляет движения документов), "Открыть форму настройки" (открывает форму настроек раздела "Деньги", в которой нужно изменить валюту ведения учёта) и "Открыть форму перепроведения" (открывает штатную форму обработки "Групповое перепроведение документов", в которой нужно выполнить перепроведение всех-всех-всех документов за все-все-все годы). Нажимать кнопки нужно в этой же последовательности.

Код модуля формы (GPLv3 или выше):

&НаСервере
Процедура УдалитьНаСервере()

	СписокРегистров = Новый СписокЗначений;
	СписокРегистров.Добавить("ВнеоборотныеАктивы");
	СписокРегистров.Добавить("ДенежныеСредства");
	СписокРегистров.Добавить("ДоходыИРасходы");
	СписокРегистров.Добавить("ДоходыИРасходыКассовыйМетод");
	СписокРегистров.Добавить("ДоходыИРасходыНераспределенные");
	СписокРегистров.Добавить("ДоходыИРасходыОтложенные");
	СписокРегистров.Добавить("Закупки");
	СписокРегистров.Добавить("ЗапасыПереданные");
	СписокРегистров.Добавить("ЗапасыПринятые");
	СписокРегистров.Добавить("НачисленияИУдержания");
	СписокРегистров.Добавить("ПланыПродаж");
	СписокРегистров.Добавить("ПлатежныйКалендарь");
	СписокРегистров.Добавить("Продажи");
	СписокРегистров.Добавить("РасчетыПоНалогам");
	СписокРегистров.Добавить("РасчетыСПерсоналом");
	СписокРегистров.Добавить("РасчетыСПодотчетниками");
	СписокРегистров.Добавить("РасчетыСПокупателями");
	СписокРегистров.Добавить("РасчетыСПоставщиками");
	СписокРегистров.Добавить("ФинансовыйРезультат");
	
	СписокРегистров.Добавить("Запасы");
	
	Для каждого ЭлемСЗ Из СписокРегистров Цикл
		ЭлемСЗ.Представление = "РегистрНакопления";
	КонецЦикла;
	
	СписокРегистров.Добавить("Управленческий", "РегистрБухгалтерии");
	
	НачатьТранзакцию();
	
	Для каждого ЭлемСЗ Из СписокРегистров Цикл
		ИмяРег = ЭлемСЗ.Значение;
		ТипРег = ЭлемСЗ.Представление;
		Если ТипРег = "РегистрНакопления" Тогда
			ТекРегистр = РегистрыНакопления[ИмяРег];
		ИначеЕсли ТипРег = "РегистрБухгалтерии" Тогда
			ТекРегистр = РегистрыБухгалтерии[ИмяРег];
		Иначе
			Сообщить("Неподдерживаемый тип регистра: " + ТипРег);
			Продолжить;
		КонецЕсли;
			
		НаборЗаписей = ТекРегистр.СоздатьНаборЗаписей();
		
		Запрос = Новый Запрос;
		Запрос.Текст = 
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Регистратор
		|ИЗ
		|	" + ТипРег + "." + ИмяРег;
		
		Выборка = Запрос.Выполнить().Выбрать();
		Пока Выборка.Следующий() Цикл
			НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
			НаборЗаписей.Очистить();
			НаборЗаписей.Записать(Истина);
		КонецЦикла;
		
	КонецЦикла;
	
	ЗафиксироватьТранзакцию();
	
КонецПроцедуры

&НаКлиенте
Процедура Удалить(Команда)
	
	УдалитьНаСервере();
	СообщениеПользователю = Новый СообщениеПользователю;
	СообщениеПользователю.Текст = "Движения удалены!";
	СообщениеПользователю.Сообщить();
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьФормуНастройки(Команда)
	
	ОткрытьФорму("Обработка.ПанельАдминистрированияУНФ.Форма.РазделДеньги");
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьФормуПерепроведения(Команда)
	
	ОткрытьФорму("Обработка.ГрупповоеПерепроведениеДокументов.Форма");
	
КонецПроцедуры

 Для ленивых прикрепил обработку.

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    37372    115    152    

82

Корректировка данных Зарплата Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    6856    39    21    

46

Корректировка данных Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

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

3600 руб.

10.02.2017    114183    687    175    

727

Закрытие периода Корректировка данных Программист Пользователь 1С v8.3 Система компоновки данных 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    52176    180    29    

132

Корректировка данных Программист Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет НДС Платные (руб)

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    1915    5    0    

7

Корректировка данных Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Налоговый учет Налог на прибыль Платные (руб)

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    1185    15    0    

11

Загрузка и выгрузка в Excel Корректировка данных Пользователь 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Обработка для группового редактирования реквизитов номенклатуры в 1С для УТ 11 / КА 2. Позволяет редактировать реквизиты (как основные, так и дополнительные реквизиты и сведения) непосредственно в таблице, устанавливать новые значения реквизитов на выбранную номенклатуру, а также загружать новые значения из Excel. Предусмотрена возможность добавления фото к товарам перетаскиванием файла из проводника на строку с товаром (drag'n'drop)

4200 руб.

16.11.2020    18249    12    6    

11

Розничная торговля Кассовые операции Корректировка данных Бухгалтер 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Бухгалтерский учет Управленческий учет Платные (руб)

Создание, редактирование и удаление документов "Выемка ДС из Кассы ККМ" в конфигурации 1С:Розница 2. Групповая обработка Выемок. Редактирование регистра накопления "Денежные средства в кассе ККМ".

2000 руб.

20.09.2017    41621    174    24    

27
Оставьте свое сообщение