запрос 7.7

1. monopolij 23.10.17 13:34 Сейчас в теме
Добрый день, уважаемые коллеги.
Бух 7.7..
Есть элемент справочника "Номенклатура", есть "Организация".
Задача получить остатки по БУ номенклатуры в рамках организации в разрезе счетов. Подскажите, пожалуйста, вариант, как это можно сделать?
Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 23.10.17 14:16 Сейчас в теме
(1) переделайте оборотку под счета учета номенклатуры
3. monopolij 23.10.17 14:45 Сейчас в теме
(2)а что именно за обработка, где она находится?
4. alex-l19041 8 23.10.17 14:53 Сейчас в теме
оборотно-сальдовая ведомость
5. monopolij 23.10.17 16:14 Сейчас в теме
(4)ОСВ мне придется сильно перебрать и переработать. а тут стоит конкретная и противоположная задача
1. Получить остатки по субконто1 = номенклатура, Организация = организация.
2. Перебрать полученную выборку и получить счета учета этой выборки.
на языке 8.3 это в пару минут можно сделать.
На языке 7.7. требуется помощь, совет, как это можно реализовать.
6. Cooler 22 23.10.17 16:23 Сейчас в теме
(5)
Перебрать полученную выборку и получить счета учета этой выборки.
Смотрите не ОСВ, а "ОСВ по счету". Только в запрос к бухитогам надо передавать не конкретный счет, а список значений (или строку) из всех возможных счетов.

Или вообще оставить его пустым, если невозможно знать все варианты.

Ну, а потом через ВыбратьСчета() и ПолучитьСчет() в цикле получаете результаты.
Организация = организация
А что такое "Организация"? У вас многофирменный учет в 7.7? Тогда надо использовать РазделительУчета.

P.S. Или использовать специалиста-семерочника. :)
monopolij; +1 Ответить
7. ditp 92 23.10.17 16:51 Сейчас в теме
БИ.ИспользоватьРазделительУчета(выбОрганизация);
БИ.ИспользоватьСубконто(ВидыСубконто.Номенклатура, выбНоменклатура);
БИ.ВыполнитьЗапрос(...);
БИ.ВыбратьСчета();
Пока БИ.ПолучитьСчет() = 1 Цикл
КонецЦикла;
monopolij; +1 Ответить
8. monopolij 23.10.17 17:05 Сейчас в теме
(7)
ВидыСубконто.Номенклатура
а если необходимо еще и остаток по сумме в числовом эквиваленте? у меня там доступны только поля "Счет", "Валюта", "Корр. счет". "Операция", "ДатаНач", "ДатаКон".
9. monopolij 23.10.17 17:22 Сейчас в теме
навоял, спасибо все)
Процедура ПросчитатьСчетаОстатка(ТекОрганизация, ТекНоменклатура, ДатаОстатка)
	РазделительУчета =      ТекОрганизация;
	
	Ит = СоздатьОбъект("БухгалтерскиеИтоги");
	
	ВидСубконто = ВидыСубконто.Номенклатура;
	
	Ит.ИспользоватьРазделительУчета(РазделительУчета);
	
	
	
	Ит.ИспользоватьСубконто(ВидСубконто, ТекНоменклатура,2 , 1);
	
	Если Ит.ВыполнитьЗапрос(ДатаОстатка, ДатаОстатка, ,,,,) = 0 Тогда        
		
		Возврат;  
	Иначе
		Ит.ВЫбратьСубконто();
		
		
		Пока Ит.ПолучитьСубконто() = 1 Цикл  
			
			СальдоКт = Ит.СКК();
			
			СальдоДт =  Ит.СКД();
			
			Если СальдоКт<>0 Тогда
				
				СуммаОстаток = - СальдоКт;
				
			Иначе
				
				СуммаОстаток =  СальдоДт;
				
			КонецЕсли;
			
			СчетДт          = Ит.Счет; 
			
		КонецЦикла;
		
		
	КонецЕсли;
	
КонецПроцедуры   


//*******************************************
Процедура Сформировать()     
	
	СпрНом = СоздатЬОбъект("Справочник.Номенклатура");
	
	СпрНом.ВыбратьЭлементы();
	
	Пока СпрНом.ПолучитьЭлемент()=1 цикл 
		
		Если СпрНом.Код = "КР000477" Тогда
			
			ТекНом = СпрНом.ТекущийЭлемент();
			
			Прервать;
			
		КонецЕсли;
		
		
		
	КонецЦикла;
	
	
	
	СпрОрг = СоздатЬОбъект("Справочник.СвоиЮрЛица");
	
	СпрОрг.ВыбратьЭлементы();
	
	Пока СпрОрг.ПолучитьЭлемент()=1 цикл 
		
		Если СпрОрг.Код = "ЕС001" Тогда
			
			ТекОрг = СпрОрг.ТекущийЭлемент();
			
			Прервать;
			
		КонецЕсли;
		
		
		
	КонецЦикла ;
	
	
	ПросчитатьСчетаОстатка(ТекОрг, ТекНом, КонГода(Дата(2016, 12, 31)));
	
КонецПроцедуры
Показать
Оставьте свое сообщение

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