![]() |
![]() |
|
Создание проводок программно Ø |
☑ | ||
---|---|---|---|---|
0
Moran
17.08.06
✎
12:48
|
Возникла необходимость внешней загрузки проводок в базу на основе экселя.
Меня, как чайника, удивило отсутствие проводок и операций как объектов метаданных. То что бух. операция теперь документ - ладно. Но как к ней прилепить проводки??? |
|||
1
android
17.08.06
✎
12:53
|
(0) Подход неверный изначально.
Вопрос №1: что хотите получить в результате? Какую отчетность? |
|||
2
Moran
17.08.06
✎
12:59
|
В результате мне нужно получить набор проводок по контрагентам. Т.е. создать Бух. операцию, в которой и будут сидеть эти проводки. Проблема в том, что я не могу врубиться, как в принципе эти проводки создаются. Там есть какойто хозрасчётный регистр бухгалтерии. Но как его использовать?
|
|||
3
android
17.08.06
✎
13:13
|
(2) С проводками что будете делать?
|
|||
4
Moran
17.08.06
✎
13:16
|
Я с ними ничё делать не буду. Мне только процедуру их создания в обработке написать.
|
|||
5
Фауст
17.08.06
✎
13:21
|
Создаешь докмент бух. операция, Создаешь набор записей регистра бухгалтерии, создаешь в наборе записи - они же проводки, регистратором для каждой записи устанавливаешь бух. справку, записываешь набор.
|
|||
6
Moran
17.08.06
✎
13:48
|
5:
//********Вот такая вот у миня процедура: Процедура ЗагрузкаВБазу(Элемент) СпрОрг=Справочники.Организации.НайтиПоКоду("CB000001"); Док=Документы.ОперацияБух.СоздатьДокумент(); Док.Дата=ДТ; Док.Комментарий="Загрузка из файла"; Док.Организация=СпрОрг; Док.Записать(); Проводки=Регистрыбухгалтерии.Хозрасчетный; Проводки.ВыбратьПоРегистратору(Док); Наборпроводок=Проводки.СоздатьНаборЗаписей(); Для Строка=2 по КонечнаяСтрока Цикл Если <Условие> тогда ПланСч=ПланыСчетов.Хозрасчетный; Проводка=НаборПроводок.Добавить(); Проводка.СчетДт=ПланСч.НайтиПоКоду("76.02"); Если Не Проводка.СчетДт.Пустая() Тогда ВидыСубконто = Проводка.СчетДт.ВидыСубконто; Проводка.СубконтоДт[1] = СубкДт; КонецЕсли; Проводка.СчетКт=ПланСч.НайтиПоКоду("76.02"); Проводка.Регистратор=Док; КонецЕсли; КонецЦикла; НаборПроводок.Записать(); КонецПроцедуры //****Вот такая вот выскакивает ошибка: {Форма.Форма(516)}: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр бухгалтерии: Журнал проводок (бухгалтерский учет)) НаборПроводок.Записать(); по причине: Ошибка записи! Не установлен отбор по регистратору (Регистр бухгалтерии: Журнал проводок (бухгалтерский учет)) |
|||
7
Сисой
17.08.06
✎
13:57
|
(0) А ты в курсе, что в типовых на 8.0 НЕЛЬЗЯ писать только проводки по контрагентам, т.к. нужно еще двигать кучу регистров (имеется в виду в первую очередь фискальный учет).
(1) пожалуй что прав. |
|||
8
Moran
17.08.06
✎
14:04
|
7:
Регистры регистрами, но сейчас мне нужно всего-навсего понять как эти создать проводки. |
|||
9
Северянин
17.08.06
✎
14:07
|
(8) Заполни документ БухгалтерскаяОперация и проведи его
|
|||
10
newreactive
17.08.06
✎
14:09
|
Наверное, лучше из внешнего файла программно заполнять Документ Бухгалтерская операция. В его реквизитах есть проводки. После его проведения они и будут созданы. Но, если даже этот документ создашь, из-за отсутствия движений в регистрах будет не правильная отчетность.
|
|||
11
newreactive
17.08.06
✎
14:11
|
У меня бухи Бухгалтерской операцией вручную работали, баланс получился правильный, а в другой отчетности произвольно не верные данные.
|
|||
12
Северянин
17.08.06
✎
14:12
|
+ 9 В УПП это документ "БухОперация". Могу кинуть внешнюю обработку по загрузки начального сальдо расходов будущих периодов из скалы. Правда там из текстового файла, но тебе ведь "только посмотреь" ;-)
|
|||
13
ASDF
17.08.06
✎
14:15
|
Всего то надо НаборПроводок.Отбор.Регистратор.Установить(Док)
|
|||
15
Moran
17.08.06
✎
14:30
|
13:
Не втыкается никуда. |
|||
16
ASDF
17.08.06
✎
14:32
|
(15) После Наборпроводок=Проводки.СоздатьНаборЗаписей();
А ВыбратьПоРегистратору() нафиг не надо |
|||
17
Moran
17.08.06
✎
14:35
|
16:
Туда я тож пихал. Без результата. :((( |
|||
18
Bolik
17.08.06
✎
14:38
|
Проводка.Регистратор=Док.Ссылка - попробуй
|
|||
19
Северянин
17.08.06
✎
14:40
|
(14) Лови...
|
|||
20
zyto
17.08.06
✎
14:54
|
А если так:
... Док.Записать(); Проводки = Док.Движения(); Для По Цикл НоваяПроводка = Проводки.ТВОЙРЕГИСТРБУХГАЛТЕРИИ.Добавить(); НоваяПроводка.... = ..... .... КонецЦикла; Движения.Записать(); Док.Записать(); |
|||
21
Moran
17.08.06
✎
14:57
|
16,18:
Спасибо огромное!!!! Палучилось!!!! 19: Тоже спасибо! Думаю пригодится! :))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |