1. Intercititude 13.02.20 17:30 Сейчас в теме

Рег.бухгалтерии

Пытаюсь свернуть проводки по дебету по счету 19.07. То есть создаю записи и переношу на кредит.

Правильно ли я делаю?:

	Запрос = Новый Запрос("ВЫБРАТЬ
	                      |	ХозрасчетныйОстатки.Организация,
	                      |	ХозрасчетныйОстатки.Счет КАК Счет,
	                      |	ХозрасчетныйОстатки.Субконто2 КАК Поступление,
	                      |	ХозрасчетныйОстатки.Субконто3 КАК Реализация,
	                      |	ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт
	                      |ИЗ
	                      |	РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В (&СписокСчетовБУ), , ) КАК ХозрасчетныйОстатки
	                      |ГДЕ
	                      |	ХозрасчетныйОстатки.КоличествоОстатокДт = 0
	                      |	И ХозрасчетныйОстатки.СуммаОстатокДт <> 0");	
	
	Запрос.УстановитьПараметр("Период", КонецДня(ДатаКон));
	Запрос.УстановитьПараметр("СписокСчетовБУ", СписокСчетовБУ);
	
	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	
	Если СписокСчетовБУ.Количество() > 0  И РезультатЗапроса.Количество() = 0  Тогда
			Сообщить("Нет остатков на указанную дату");
		Возврат;
	КонецЕсли;
	
	Если РезультатЗапроса <> Неопределено И РезультатЗапроса.Количество() > 0 Тогда
		Пока РезультатЗапроса.Следующий() Цикл
			НовоеДвижение = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
			Движение = НовоеДвижение.Добавить();   
			Движение.Период = РезультатЗапроса.Реализация.Дата;
			Движение.Организация = РезультатЗапроса.организация;
			
			Движение.СчетКт = РезультатЗапроса.Счет;
			Движение.СубконтоКт.СфПолученные = РезультатЗапроса.Поступление;
			Движение.СубконтоКт.ДокументыРеализации = РезультатЗапроса.Реализация;
			Движение.Сумма = РезультатЗапроса.СуммаОстатокДт;
			
	    КонецЦикла;
	КонецЕсли;
Показать
Вознаграждение за ответ
Показать полностью
Найденные решения
16. Sashares 18 13.02.20 18:03 Сейчас в теме +0.18 $m
(12)Вот и сделайте это новым документом, иначе вы все сломаете.
Точнее не вы, а любое перепроведение документа заново сформирует движения, и ваши добавленные проводки затрутся.
Intercititude; +1 Ответить
Остальные ответы
Избранное Подписка Сортировка: Древо
4. Sashares 18 13.02.20 17:50 Сейчас в теме
(1)
Регистратор где?
Чем вы записывать эти движения будете?
6. Intercititude 13.02.20 17:51 Сейчас в теме
(4) А какой регистратор можно передать ? Сделал так, но думаю это не верно:
НовоеДвижение.Отбор.регистратор.установить(РезультатЗапроса.реализация);
13. Sashares 18 13.02.20 17:59 Сейчас в теме
(6)Создать новый документ.
Какой нибудь Операция бухгалтерская или подобный, который делает произвольные движения по регистру бухгалтерии.
Intercititude; +1 Ответить
14. Intercititude 13.02.20 18:01 Сейчас в теме
(13) посмотрите в (12) пожалуйста. Мне не надо создавать новые документы,а добавить у существующих движения.
17. Nadushka74 3 13.02.20 18:03 Сейчас в теме
(14) документы там за какой период? вы хотите текущей датой в те документы добавить движения? или будете на дату документа добавлять движение?
второй способ вообще убийство для учета. Первый вариант не даст перепроводить исходные документы.
19. Intercititude 13.02.20 18:07 Сейчас в теме
(17)За весь период,лет 5 )
Ну в общем я понял, буду копать в сторону документа "операция".
2. TODD22 18 13.02.20 17:44 Сейчас в теме
Есть или нет результат после выполнения запроса надо проверять методом "Пустой()" и делать выборку из результата после проверки.
 РезультатЗапроса = Запрос.Выполнить().Выбрать();

Заменить на:
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
КонецЕсли

Убрать:
Если РезультатЗапроса <> Неопределено И РезультатЗапроса.Количество() > 0 Тогда
5. Intercititude 13.02.20 17:51 Сейчас в теме
(2) Это всё понятно. Меня интересует больше сам момент свёртывания остатков. Именно этот момент. Просто перекинуть данные с дебета на кредит и сумма станет нулевой ?
9. Sashares 18 13.02.20 17:53 Сейчас в теме
(5)Если счет 19.07 не забалансовый, то надо счет дт и субконто дт указывать эти же самые значения.
7. Sashares 18 13.02.20 17:52 Сейчас в теме
(2)
Есть или нет результат после выполнения запроса надо проверять методом "Пустой()" и делать выборку из результата после проверки.


Если выборку все равно надо делать, смысла проверять, что выборка пустая - нет.
8. TODD22 18 13.02.20 17:52 Сейчас в теме
(7)Смысл тогда этой строки?
Если РезультатЗапроса <> Неопределено И РезультатЗапроса.Количество() > 0 Тогда
11. Sashares 18 13.02.20 17:54 Сейчас в теме
10. TODD22 18 13.02.20 17:54 Сейчас в теме
(7)
Если выборку все равно надо делать

Если вы уверены что там есть результат то можно не проверять. А если нет то лучше проверить, для этого и метод специальный есть.
3. TODD22 18 13.02.20 17:50 Сейчас в теме
В качестве даты для получения остатка надо передавать границу, а не конец дня.

У счета могут быть субсчета добавленные пользователем.
Счет В ИЕРАРХИИ (&СписокСчетовБУ)


В наборе движений нет регистратора.
12. Intercititude 13.02.20 17:54 Сейчас в теме
(3) Счёт по сути один. А именно 19.07. В связи с изменением законодательства (откладывать НДС для экспорта больше не требуется), в дальнейшем 19.07 использоваться не будет.
Отсюда и задача свернуть остатки.
16. Sashares 18 13.02.20 18:03 Сейчас в теме +0.18 $m
(12)Вот и сделайте это новым документом, иначе вы все сломаете.
Точнее не вы, а любое перепроведение документа заново сформирует движения, и ваши добавленные проводки затрутся.
Intercititude; +1 Ответить
18. Intercititude 13.02.20 18:06 Сейчас в теме
(16) Правильно я понял, что необходимо программно создать документ операция, заполнить его всеми движениями которые мне нужно свернуть и так же программно провести его ?
20. Sashares 18 13.02.20 18:09 Сейчас в теме
(18)Да. Если документ может проводиться, то провести и записать движения. Но обычно Операция не может проводится.
21. Intercititude 13.02.20 18:12 Сейчас в теме
(20) Но даже при записи она сделает же движения ?

И интересует момент как переносить мои 3 субконта с Дт на Кт ? Просто присваивать Дт = кт по соответствию ?
22. Sashares 18 13.02.20 18:39 Сейчас в теме
(21)Да, на оба вопроса.
Intercititude; +1 Ответить
23. Intercititude 14.02.20 11:02 Сейчас в теме
(22) В итоге сделал так:

	СписокСчетовБУ	= ТаблицаСчетовБУ.ВыгрузитьКолонку("СчетКТ");
	
	Запрос = Новый Запрос("ВЫБРАТЬ
	                      |	ХозрасчетныйОстатки.Организация,
	                      |	ХозрасчетныйОстатки.Счет КАК Счет,
	                      |	ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Контрагенты) КАК Контрагент,
	                      |	ХозрасчетныйОстатки.Субконто2 КАК Поступление,
	                      |	ХозрасчетныйОстатки.Субконто3 КАК Реализация,
	                      |	ХозрасчетныйОстатки.СуммаОстатокДт КАК Сумма
	                      |ИЗ
	                      |	РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В (&СписокСчетовБУ), , ) КАК ХозрасчетныйОстатки
	                      |ГДЕ
	                      |	ХозрасчетныйОстатки.СуммаОстатокДт <> 0");	
	
	Запрос.УстановитьПараметр("Период", КонецДня(ДатаКон));
	Запрос.УстановитьПараметр("СписокСчетовБУ", СписокСчетовБУ);
	
	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	
	Документ  = Документы.ОперацияБух.СоздатьДокумент();
	ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Документ, глЗначениеПеременной("глТекущийПользователь"));
		
	Пока РезультатЗапроса.Следующий() Цикл
		ДвиженияДокумента							= Документ.Движения.Хозрасчетный;
		Движение									= ДвиженияДокумента.Добавить();
		
		Движение.СчетКт								= ПланыСчетов.Хозрасчетный.ПрочиеРасходыНеОблагаемыеЕНВД;
		Движение.СчетДт								= РезультатЗапроса.Счет;
		Движение.СубконтоКт.Контрагенты				= РезультатЗапроса.Контрагент;
		Движение.СубконтоКт.СФПолученные			= РезультатЗапроса.Поступление;
		Движение.СубконтоКт.ДокументыРеализации		= РезультатЗапроса.Реализация;
		Движение.Сумма								= РезультатЗапроса.Сумма;
	КонецЦикла;
	
	Документ.ПолучитьФорму().Открыть();
Показать


Но не могу передать значение СубконтоДт.ПрочиеДоходыИРасходы. Оно имеет тип ПланСчетовВидыСубконто.Хозрасчетный. Как это сделать ? Делать новый запрос и передавать этот счёт туда ?
24. Sashares 18 14.02.20 11:13 Сейчас в теме
25. Intercititude 14.02.20 11:40 Сейчас в теме
(24) Мне надо Движение.СубконтоДТ присвоить значение СубконтоДт.ПрочиеДоходыИРасходы. Но не пойму как. Если обращаться напрямую через ПланаВидовХарактеристик... То ругается мол СубконтоДт недоступно для записи.Я так полагаю что дело в типе. Но не пойму как сделать корректно.
27. Sashares 18 14.02.20 11:55 Сейчас в теме
(25)
 Движение.СубконтоДт.ПрочиеДоходыИРасходы = НужноеЗначение;

Как и где брать нужное значение - тебе виднее.
26. Intercititude 14.02.20 11:52 Сейчас в теме
(24) Решил вопрос. Сделал так, но правильно ли это ? Движение.СубконтоДт.ПрочиеДоходыИРасходы=Справочники.ПрочиеДоходыИРасходы.НайтиПоКоду("000000018") ;
28. Sashares 18 14.02.20 11:57 Сейчас в теме
(26)Если делаешь это в какой-то обработке, добавь на форму реквизит для выбора нужной ссылки, а значение этого реквизита используй.
29. Intercititude 14.02.20 12:05 Сейчас в теме
(28)А разница? я же всё равно буду искать по коду, или как то по-другому можно ?

И что то я сделал эти проводки(дт прировнял к Кт),а сумма не поменялась(
30. Sashares 18 14.02.20 12:10 Сейчас в теме
(29) Если на форме обработки будет реквизит, его можно будет заполнить интерактивно нужным значением. Для универсальности.
Хотите искать по коду - ищите по коду, ваше дело.
Intercititude; +1 Ответить
31. Intercititude 14.02.20 12:14 Сейчас в теме
(30) На первом скрине приложил, что на данный момент.Есть остаток по этому счету.
Сделал операцию и поменял местами ДТ и КТ с той же суммой(Скрин2). Ничего не поменялось. Почему ?
Прикрепленные файлы:
32. Sashares 18 14.02.20 12:38 Сейчас в теме
(31)
1 - в движениях надо по РБ надо заполнять организацию, и другие измерения, если они есть, у вас в коде их нет.
2 - заполнять период.

Вы остатки смотрите на какую дату? До даты документа ввода ваших корректировок или после?
33. Intercititude 14.02.20 12:40 Сейчас в теме
(32) Я имею ввиду. Я в ручную создал документ операцию и записал.В этом случае.

Вы остатки смотрите на какую дату? До даты документа ввода ваших корректировок или после?

В оборотно сальдовой ведомости указывают период до и после.
34. Sashares 18 14.02.20 12:44 Сейчас в теме
(33)УПП нет под рукой. Поэтому не скажу, почему движений нет.
35. Intercititude 14.02.20 14:47 Сейчас в теме
(34) Ну у меня есть движения. Где остаток по дебету. Я перенёс все те же поля на Кредет и сумму(движения в регистре есть). А в отчёте всё то же самое,мол есть остаток.
36. Sashares 18 14.02.20 16:07 Сейчас в теме
(35) По описанию, звучит все правильно.
"А в отчёте всё то же самое,мол есть остаток. "

Остаток формируется в разрезе измерений и субконто. Возможно, что какое то из измерений заполнено не так.

Почему показывает остаток без базы не скажу.
15. Nadushka74 3 13.02.20 18:01 Сейчас в теме
1. Это проводка по балансу, т.е должен быть Счет Дт и Счет Кт. Сумма не может исчезнуть в никуда.
Поэтому нужна исходная проводка.
Документ регистратор обычно делают бух операцию. потом всегда смогут скорректировать движение и не мучать учет.
Santa1; Intercititude; +2 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата до 130 000 руб.
Полный день