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 20 01.09.16 12:27 Сейчас в теме
(2), вот ответь на вопрос (ничего, что на ты?). А нельзя было запрос по контрагентам тоже через запрос сделать - все быстрее было бы? :) Кстати тут на сайте лежит классная штука позволяющая строить запросы, да еще и генерирующая текст запроса, да плюс еще и вывод предварительного результата. Правда работает только по одному из: регистр, справочник или документ, но кто мешает объединить?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Консультант-аналитик 1С
Санкт-Петербург
Полный день

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

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

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

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