HelpF.pro

Перемещение между документами в списке

Код 1C v 8.х
 //black_doctor, надеюсь комунить пригодиться механизм )))
//
//В примере описан механизм перехода между документами одного типа
//функции помещаються в общие , ну и от туда работают, для любого документа )
//в качестве входящих параметров задаем ссылку на документ и ссылку на текущую форму )

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

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

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/755.html