Изменить Бухгалтерские проводки программно, в БП 3.0

1. burni4 88 20.10.17 09:27 Сейчас в теме
Сложилась такая ситуация, знаю регистратор, по этому регистратору заполняются проводки в таблицу значений на форме, на ней меняются суммы проводок, и далее необходимо сохранить измененные проводки, нет вариантов добавлять или удалять итоговые проводки, просто получаем их и изменяем руками. Как мне реализовать сохранение измененных в ТЗ проводок?
По теме из базы знаний
Найденные решения
7. DenisCh 20.10.17 09:49 Сейчас в теме
Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Проводки.Отбор.Регистратор.Установить(стр.Док);
Проводки.Прочитать();

тз = Проводки.Выгрузить()
//передаём тз на форму

...
//после получения тз с формы

Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Проводки.Отбор.Регистратор.Установить(стр.Док);
Проводки.Прочитать();
Проводки.Загрузить(тз);
Проводки.Записать(Истина);
TSSV; user726666; PhoenixAOD; burni4; alex-l19041; +5 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisCh 20.10.17 09:32 Сейчас в теме
Получить набор записей РБ с отбором по регистратору, загрузить туда нужные проводки, записать набор записей
3. burni4 88 20.10.17 09:36 Сейчас в теме
(2) спасибо, логику я понимал, хотелось бы пример кода либо ссылочку, с примером
4. HanterVol 8 20.10.17 09:39 Сейчас в теме
Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Проводки.Отбор.Регистратор.Установить(стр.Док);
Проводки.Прочитать();
Для Каждого пров из Проводки Цикл

КонецЦикла
//Проводки.ОбменДанными.Загрузка = ИСТИНА;
Проводки.Записать(ИСТИНА);
5. burni4 88 20.10.17 09:46 Сейчас в теме
(4) понятно, но тут получается Проводки выступают в качестве объекта, допустим я получу проводки и запишу их в ТЗ

Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); 
Проводки.Отбор.Регистратор.Установить(стр.Док); 
Проводки.Прочитать(); 
Для Каждого пров из Проводки Цикл 
// записываю тут всё в ТЗ
КонецЦикла 


Но вот что делать потом? изменения я же делаю на форме
6. Zoomby 20.10.17 09:48 Сейчас в теме
(5) на форме их делать неправильно, посмотрите в коде как это делается в типовой конфигурации
8. DenisCh 20.10.17 09:49 Сейчас в теме
(6)
на форме их делать неправильно


При постановке "пользователь редактирует их руками" - вполне правильно
7. DenisCh 20.10.17 09:49 Сейчас в теме
Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Проводки.Отбор.Регистратор.Установить(стр.Док);
Проводки.Прочитать();

тз = Проводки.Выгрузить()
//передаём тз на форму

...
//после получения тз с формы

Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Проводки.Отбор.Регистратор.Установить(стр.Док);
Проводки.Прочитать();
Проводки.Загрузить(тз);
Проводки.Записать(Истина);
TSSV; user726666; PhoenixAOD; burni4; alex-l19041; +5 Ответить
9. burni4 88 20.10.17 10:00 Сейчас в теме
(7) спасибо, буду разбираться
10. burni4 88 20.10.17 10:18 Сейчас в теме
(7)
//передаём тз на форму

смотрю что здесь тоже не всё так просто(
11. DenisCh 20.10.17 10:29 Сейчас в теме
(10) А как ты собирался раньше выполнить "по этому регистратору заполняются проводки в таблицу значений на форме" ?
12. burni4 88 20.10.17 10:46 Сейчас в теме
(11) Запросом выбирал проводки и заполнял
13. DenisCh 20.10.17 10:53 Сейчас в теме
(12)А теперь выбирай не запросом, а через перебор набора записей. Разница непринципиальна.
Главное - перед загрузкой в НЗ - тз должна иметь правильную структуру.
14. burni4 88 20.10.17 10:58 Сейчас в теме
(13) но при таком способе, мне нужно что бы тз на форме была идентичной структуры, как и получаемая структура проводки?
15. DenisCh 20.10.17 11:01 Сейчас в теме
(14) Если это для тебя самая главная проблема, то я тебе завидую...
16. burni4 88 20.10.17 11:02 Сейчас в теме
(15) это был просто вопрос) проблем хватает
17. burni4 88 20.10.17 12:18 Сейчас в теме
(15) вот и возникла новая проблеме) при создании структуры ТЗ на форме, для СУбконтоДт и СубконтоКт установил тип Произвольный, и соответственно при заполнении тз вылезла ошибка

РегистрБухгалтерииСубконто.Хозрасчетный" не может использоваться в данных формы
18. zavsom 103 02.02.24 12:14 Сейчас в теме
понадобилось тут как то в операциях бух поменять субконто - вот как это выглядит : лепишь на форму два реквизита справочников дохы и расходы и в модуле формы пишешь вот такой вот код


&НаСервере
Процедура ПеренестиНаСервере()
	
	
	Если Объект.Документ.Пустая() Тогда
		Сообщить("Не выбран документ для заполнения");
		Возврат;
	Конецесли;
	ТекДок=Неопределено;
	ТекДок=Объект.Документ.ПолучитьОбъект();
	Если ТекДок=Неопределено Тогда
		Сообщить("Не выбран документ для заполнения");
		Возврат;
	Иначе
		
		ДокОперацияСсылка = ТекДок.Ссылка;
		ДатаВДок = ТекДок.Дата;
		
		Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
		Проводки.Отбор.Регистратор.Установить(ДокОперацияСсылка);
		
		Проводки.Прочитать();  
		
		инд1=1;
		Для Каждого пров из Проводки Цикл
			
			Если пров.СчетКт.Код = "91.01" Тогда				
				БухгалтерскийУчет.УстановитьСубконто(пров.СчетКт, пров.СубконтоКт, "ПрочиеДоходыИРасходы", Объект.ДиР9101);
			КонецЕсли;
			
			Если пров.СчетДт.Код = "91.02" Тогда	
				БухгалтерскийУчет.УстановитьСубконто(пров.СчетДт, пров.СубконтоДт, "ПрочиеДоходыИРасходы", Объект.ДиР9102); 	
			КонецЕсли;
	   
		   инд1=инд1+1;
		КонецЦикла;
		//Проводки.ОбменДанными.Загрузка = ИСТИНА;
		Проводки.Записать(ИСТИНА);
		
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Перенести(Команда)
	ПеренестиНаСервере();
КонецПроцедуры
Показать
19. zavsom 103 02.02.24 12:15 Сейчас в теме
да и на форме документ этот выбираешь .
20. zavsom 103 03.02.24 17:50 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот