![]() |
![]() |
![]() |
|
Проблема с программным обнулением счета. | ☑ | ||
---|---|---|---|---|
0
Selma
16.06.15
✎
16:20
|
Добрый вечер! никто не сталкивался с такого рода проблемой: имеется база Бухгалтерия 8.3, в которой в результате ошибочной настройки загрузчика из Раруса образовалась такая ситуация: на счете 41.12 есть остатки, при этом в некоторых местах в субконто "Склады" загружены значения из справочника "подразделения". Если делать операцию ручками, обнулить не получается, так как 1ска, естественно, не дает выбрать подразделения в субконто Склад. Попыталась написать обработку, которая вытаскивает остатки по счету и делает операцию бух, которая сторнирует эти остатки. Но и в операции по ошибочным субконто загружаются просто пустые значения. Как тут помочь горю?
Обработка: Операция = Документы.ОперацияБух.СоздатьДокумент(); Операция.Дата = Объект.ДатаОбнуления; Операция.Ответственный = ПараметрыСеанса.ТекущийПользователь; Операция.Содержание = "Обнуление счета "+Объект.Счет; Операция.Организация = Организация; Операция.СпособЗаполнения = "Вручную"; Операция.СуммаОперации = 0; Операция.Записать(РежимЗаписиДокумента.Запись); ДокОперацияСсылка = Операция.Ссылка; проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); проводки.Отбор.Регистратор.Установить( ДокОперацияСсылка); Для Каждого стр из ТЗ Цикл проводка = проводки.Добавить(); проводка.Период = ДокОперацияСсылка.Дата; проводка.Регистратор = ДокОперацияСсылка; проводка.Организация = Организация; проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("000"); проводка.СчетКт = Объект.Счет; //проводка.Содержание = ЗначениеСубконто; НомерСубконто = 0; Для каждого ВидСубконто Из Проводка.СчетКт.ВидыСубконто Цикл ЗначениеСубконто = стр.Получить(НомерСубконто); проводка.Содержание = проводка.Содержание+ЗначениеСубконто; НомерСубконто = НомерСубконто + 1; Если ЗначениеЗаполнено(ЗначениеСубконто) Тогда БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, НомерСубконто, ЗначениеСубконто); КонецЕсли; КонецЦикла; проводка.Сумма = Стр.суммаОстатокДТ-Стр.суммаОстатокКТ; проводка.количествоКт = Стр.количествоОстатокДТ-Стр.количествоОстатокКТ; КонецЦикла; проводки.Записать(); |
|||
1
Господин ПЖ
16.06.15
✎
16:23
|
устанавливай значение "руками"
в .УстановитьСубконто() наверное "защита от дурака" есть |
|||
2
Selma
17.06.15
✎
08:45
|
решение - Вместо Установитьсубконто использовать Проводка.СубконтоКт.Вставить(ВидСубконто, ЗначениеСубконто) где Видсубконто - не как задано в конфигурации, а как реально по итогам запроса получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |