Получение данных

1. kuznetsov1c 17 13.04.21 10:22 Сейчас в теме
Добрый день!
Помогите, пожалуйста, как программно получить данные (запросами, без СКД) которые выводит данный отчет (приложение 1).
Не понимаю как программно можно получить сальдо счетов (1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 2000, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900), как это можно сделать, в журнале проводок ничего по ним нет.

Платформа - 1С:Предприятие 8.3, учебная версия (8.3.18.1128).
Конфигурация - Бухгалтерия для Казахстана, редакция 3.0, разработка для Казахстана: «1С-Рейтинг» (3.0.39.4).
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
7. Svetlanka_sv 45 13.04.21 13:14 Сейчас в теме +0.2 $m
Вот так условие:

| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНачало, &ДатаКонец, , , Счет В ИЕРАРХИИ (&Счета), , ) КАК ХозрасчетныйОстаткиИОбороты";
kuznetsov1c; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 13.04.21 10:26 Сейчас в теме
(1)Попробуй как-то так
ТаблицаЗначенийОчтетаПоВзаиморасчетамЗаВчера = ОтчетВзаиморасчетыНаСервере("ТаблицаЗначений", НачалоДня(Объект.ДатаИВремяНачала - 3600), КонецДня(Объект.ДатаИВремяНачала - 3600));
Объект.СуммаВзаиморасчетовЗаВчера = ТаблицаЗначенийОтчетаПоВзаиморасчетам[ТаблицаЗначенийОтчетаПоВзаиморасчетам.Количество()-1].ДолгНачальныйОстаток;


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

		МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Отчет.СхемаКомпоновкиДанных,
		    Настройка, , ,
			Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"),Истина);

		ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
		ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);

		ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
		ПроцессорВывода.УстановитьОбъект(Результат);
		ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	ИначеЕсли ТипРезультата = "ТабличныйДокумент" Тогда 
	
		ТабличныйДокумент = Новый ТабличныйДокумент;
		ТабДок = Новый ТабличныйДокумент;
		Попытка
			Отчет.СкомпоноватьРезультат(ТабличныйДокумент);   
			ТабДок.Вывести(ТабличныйДокумент);   
			ТабДок.ОтображатьСетку=Ложь;
			ТабДок.ОтображатьЗаголовки=Ложь;
			ТабДок.ТолькоПросмотр=Истина;
			Результат = ТабДок;
		Исключение
		КонецПопытки;
	КонецЕсли;
	
	Возврат Результат;
КонецФункции
Показать
8. Nubsdale 13.04.21 14:00 Сейчас в теме
(1) а что если посмотреть как сформировывается оборотка и так же сделать?)
10. kuznetsov1c 17 13.04.21 14:25 Сейчас в теме
(8)
Там ведь СКД, а у него в запросах ничего примечательного нет т.к. при их выполнении не получаю данных по тысячному счету которые в свою очередь есть в этом отчете
3. Svetlanka_sv 45 13.04.21 11:29 Сейчас в теме
Примерно так. Это из Бухгалтерии, у вас (Бухгалтерия для Казахстан) может быть другой регистр будет.
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
		|	ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
		|	ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
		|	ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
		|	ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт
		|ИЗ
		|	РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНачало, &ДатаКонец, , , Счет В (&Счета), , ) КАК ХозрасчетныйОстаткиИОбороты";
	
	Запрос.УстановитьПараметр("ДатаКонец", ДатаКонец);
	Запрос.УстановитьПараметр("ДатаНачало", ДатаНачало);
	Запрос.УстановитьПараметр("Счета", Счета);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ОстатокНачалоДт	= ВыборкаДетальныеЗаписи.СуммаНачальныйОстатокДт; 
		ОстатокНачалоКт	= ВыборкаДетальныеЗаписи.СуммаНачальныйОстатокКт; 
		ОстатокКонецДт	= ВыборкаДетальныеЗаписи.СуммаКонечныйОстатокДт; 
		ОстатокКонецКт	= ВыборкаДетальныеЗаписи.СуммаКонечныйОстатокКт; 
	КонецЦикла;
Показать
4. kuznetsov1c 17 13.04.21 11:37 Сейчас в теме
(3)

Вот все регистры бухгалтерии, что у меня есть: РегистрБухгалтерии.Типовой (Синоним - Журнал проволок (бухгалтерский учет)), РегистрБухгалтерии.Налоговый (Синоним - Журнал проволок (Налоговый учет))
5. Svetlanka_sv 45 13.04.21 11:48 Сейчас в теме
(4) Значит, у вас в запросе вместо "РегистрБухгалтерии.Хозрасчетный." будет "РегистрБухгалтерии.Типовой."
6. kuznetsov1c 17 13.04.21 11:52 Сейчас в теме
(5)
Спасибо!
Только вот данных (по счету 1000) не выдает.
Нужно делать проверку на то является ли счет подчиненным счету (той же 1000-е к примеру)?
7. Svetlanka_sv 45 13.04.21 13:14 Сейчас в теме +0.2 $m
Вот так условие:

| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНачало, &ДатаКонец, , , Счет В ИЕРАРХИИ (&Счета), , ) КАК ХозрасчетныйОстаткиИОбороты";
kuznetsov1c; +1 Ответить
9. kuznetsov1c 17 13.04.21 14:18 Сейчас в теме
(7)
Я ведь пишу что среди этих данных нет записей по этому счету, очень странно т.к. в оборотно сальдовой ведомости суммы по нему есть
Прикрепленные файлы:
11. SlavaKron 13.04.21 14:27 Сейчас в теме +0.05 $m
(9) Вам же подсказали использовать "Счет В ИЕРАРХИИ (&Счета)", а у вас по-прежнему "Счет В (&Счета)".
kuznetsov1c; +1 Ответить
12. kuznetsov1c 17 13.04.21 14:31 Сейчас в теме
(11)
Спасибо...
Извините, я не заметил....
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

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

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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)