Получить первое движение регистра

1. Роман * (Black Cat) 32 09.08.16 18:27 Сейчас в теме
Добрый день !
Есть регистр "Покупатели". Несколько лет назад была свертка базы. Мне нужно получить контрагентов, по которым было движение только документом ввода остатков в данный регистр при свертке, а потом движений не было. Как правильно написать запрос ?
Ответы
2. Александр Карпов (Noob001) 09.08.16 20:48 Сейчас в теме
Как вариант:

СписокКонтрагентов = СоздатьОбъект("СписокЗначений");
ДокументВводаОстатков = СоздатьОбъект("Документ.ВводОстатковПокупателя");
ДокументВводаОстатков.Выбрать(ДатаВводаОстатков,ДатаВводаОстатков);
ДокументВводаОстатков.Получить() Цикл
СписокКонтрагентов.ДобавитьЗначение() = ДокументВводаОстатков.Контрагент(); //Получаешь список контрагентов которые были во вводе остатков

ЗапросАктивные = СоздатьОбъект("Запрос");
	ТекстЗапроса = 
	"//{{ЗАПРОС(ЗапросАктивные)
	|Период с ДатаВводаОстатков+1 по ДатаКонца; // Получаешь всех контрагентов которые совершали действия после ввода остатков
	|Контрагент = Регистр.Покупатели.Договор.Владелец;
	|СуммаРуб = Регистр.Покупатели.СуммаРуб;
	|Функция СуммаРубПриход = Приход(СуммаРуб);
	|Условие(Контрагент в СписокКонтрагентов);
	|Группировка Контрагент без групп;
	|"//}}ЗАПРОС
	;
	
	// Если ошибка в запросе, то выход из процедуры
	Если ЗапросАктивные.Выполнить(ТекстЗапроса) = 0 Тогда
		Возврат;
	КонецЕсли;

    Пока ЗапросАктивные.Группировка(1) = 1 Цикл
		ПозицияВСписке = СписокКонтрагентов.НайтиЗначение(ЗапросАктивные.Контрагент);
        Если ПозицияВСписке <> 0 Тогда
			СписокКонтрагентов.УдалитьЗначение(ПозицияВСписке); //Удаляешь из списка активных после ввода остатков
		КонецЕсли;	
	КонецЦикла;
Показать

//Остававшийся список будет содержать контрагентов которые есть во вводе остатков, но по ним не было никаких движений после.
Black Cat; +1 Ответить
3. Сергей Зенюков (Sanario) 19 01.09.16 12:27 Сейчас в теме
(2), вот ответь на вопрос (ничего, что на ты?). А нельзя было запрос по контрагентам тоже через запрос сделать - все быстрее было бы? :) Кстати тут на сайте лежит классная штука позволяющая строить запросы, да еще и генерирующая текст запроса, да плюс еще и вывод предварительного результата. Правда работает только по одному из: регистр, справочник или документ, но кто мешает объединить?
Оставьте свое сообщение