20 счет и субсчета к нему(((
23.03.2009
09:10
#1
Помогите дилетанту
1С Предприятие релиз 502ой платформа 23.
В общем лопухнулся(( завел субсчета на 20ом счете.
При попытке вернуть обратно в конфигураторе вышло так что 20.01 делаю ПП, удалаю 20,00 сохраняю конфигурацию , при этом пишет что счет 20.01 изменен код. Далее захожу в в 1С и окончательно удаляю 20ый счет, за тем захожу в конфигу и вижу что ПП.0 не счет-группа но в ней сидит ПП.01(и обороты по 20ому сидят в ней)
Думаю 2 варианта решения данной проблемы , а как именно это проделать голова не доходит(((:
1. ПП,0 как то переделать в счет группу и затем ПП.01 переименовать в 20ый
2. перенести обороты по ПП.01 во вновь заведенный 20ый счет
Спасибо за ответы
1С Предприятие релиз 502ой платформа 23.
В общем лопухнулся(( завел субсчета на 20ом счете.
При попытке вернуть обратно в конфигураторе вышло так что 20.01 делаю ПП, удалаю 20,00 сохраняю конфигурацию , при этом пишет что счет 20.01 изменен код. Далее захожу в в 1С и окончательно удаляю 20ый счет, за тем захожу в конфигу и вижу что ПП.0 не счет-группа но в ней сидит ПП.01(и обороты по 20ому сидят в ней)
Думаю 2 варианта решения данной проблемы , а как именно это проделать голова не доходит(((:
1. ПП,0 как то переделать в счет группу и затем ПП.01 переименовать в 20ый
2. перенести обороты по ПП.01 во вновь заведенный 20ый счет
Спасибо за ответы
23.03.2009
11:30
#2
"1. Делаем в плане счетов вспомогательный счет. Хоть через конфигуратор, хоть напрямую в режиме пользователя. Пусть это будет счет "Х20". При создании указываем, что счет не будет иметь субсчетов.
2. Пишем обработку такого содержания:
СчетИсточник=СчетПоКоду("20.01");
СчетПриемник=СчетПоКоду("Х20");
НачатьТранзакцию();
Опер=СоздатьОбъект("Операция");
Опер.ВыбратьОперации();
Пока Опер.ПолучитьОперацию()=1 Цикл
ЕстьИзменения=0;
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку()=1 Цикл
Если Опер.Дебет.Счет=СчетИсточник Тогда
Опер.Дебет.Счет=СчетПриемник;
ЕстьИзменения=1;
КонецЕсли;
Если Опер.Кредит.Счет=СчетИсточник Тогда
Опер.Кредит.Счет=СчетПриемник;
ЕстьИзменения=1;
КонецЕсли;
КонецЦикла;
Если ЕстьИзменения=1 Тогда
Опер.Записать();
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
3. Запускаем эту обработку, в операциях все счета "20.01" заменятся на "Х20"
4. Производим удаление "20.01" в конфигураторе, при этом он пометится на удаление и в режиме работы "пользователя".
5. Проводим "Удаление помеченных на удаление объектов"
6. Снова идем в конфигуратор. Создаем там счет 20 такой какой он в оригинальной конфигурации, то есть, со всеми субконто и т.п.
7. Меняем в тексте нашей обработки строки:
СчетИсточник=СчетПоКоду("20.01");
СчетПриемник=СчетПоКоду("Х20");
на
СчетИсточник=СчетПоКоду("Х20");
СчетПриемник=СчетПоКоду("20");
8. Запускаем обработку, в операциях все счета "Х20" заменятся на "20"
9. метим на удаление счет "Х20" и удаляем его.
P.S. Нюанс - возможно, что ссылки на 20 счет, который вы превратили в 20.01 будут не только в операциях, а еще и в реквизитах документов, справочников (возможно что и периодические). В этом случае алгоритм придется усложнять."
2. Пишем обработку такого содержания:
СчетИсточник=СчетПоКоду("20.01");
СчетПриемник=СчетПоКоду("Х20");
НачатьТранзакцию();
Опер=СоздатьОбъект("Операция");
Опер.ВыбратьОперации();
Пока Опер.ПолучитьОперацию()=1 Цикл
ЕстьИзменения=0;
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку()=1 Цикл
Если Опер.Дебет.Счет=СчетИсточник Тогда
Опер.Дебет.Счет=СчетПриемник;
ЕстьИзменения=1;
КонецЕсли;
Если Опер.Кредит.Счет=СчетИсточник Тогда
Опер.Кредит.Счет=СчетПриемник;
ЕстьИзменения=1;
КонецЕсли;
КонецЦикла;
Если ЕстьИзменения=1 Тогда
Опер.Записать();
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
3. Запускаем эту обработку, в операциях все счета "20.01" заменятся на "Х20"
4. Производим удаление "20.01" в конфигураторе, при этом он пометится на удаление и в режиме работы "пользователя".
5. Проводим "Удаление помеченных на удаление объектов"
6. Снова идем в конфигуратор. Создаем там счет 20 такой какой он в оригинальной конфигурации, то есть, со всеми субконто и т.п.
7. Меняем в тексте нашей обработки строки:
СчетИсточник=СчетПоКоду("20.01");
СчетПриемник=СчетПоКоду("Х20");
на
СчетИсточник=СчетПоКоду("Х20");
СчетПриемник=СчетПоКоду("20");
8. Запускаем обработку, в операциях все счета "Х20" заменятся на "20"
9. метим на удаление счет "Х20" и удаляем его.
P.S. Нюанс - возможно, что ссылки на 20 счет, который вы превратили в 20.01 будут не только в операциях, а еще и в реквизитах документов, справочников (возможно что и периодические). В этом случае алгоритм придется усложнять."
Читают тему
(гостей: 1)