функции перехода между документами одного типа :) может кому будет интересно.

09.08.09

Разработка - Универсальные функции

собственно говоря, ИДЕЯ НЕ МОЯ, заказчик заказал, я реализовал, не судите слишком строго :):):)
но надеюсь комунить пригодиться механизм :):):)

//тут описан механизм перехода между документами

// функции помещаються в общие , ну и от туда работают, для любого  документа :)

//в качестве входящих параметров задаем ссылку на документ и ссылку на  текущую форму :)

 

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3553    Abysswalker    9    

45

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    6572    DeerCven    15    

57

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    49297    dimanich70    83    

170

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7369    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    61798    atdonya    31    

70

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9176    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. -ioan- 15.02.12 13:03 Сейчас в теме
Отлично!
Единственное в первой процедуре надо заменить сообщение пользователю на:
Сообщить("Этот документ последний в списке
документов",СтатусСообщения.Внимание); ;)

Voldemar; +1 Ответить
4. yuraos 1008 16.02.12 11:25 Сейчас в теме
(1) -ioan-, поддерживаю!
а также можно проверять тип переменной 'ТекФорма'
Если передали не форму, просто открывать следующий документ в списке.
Может быть полезно,
если доступ к сервису делать через кнопку в форме списка документов
или в форме списка журнала документов.
2. black_doctor 95 15.02.12 13:48 Сейчас в теме
приятно, что есть наблюдательные люди :)
3. Voldemar 1 16.02.12 10:54 Сейчас в теме
Ну вот, опередили меня с поправкой текста сообщения... :)
Для отправки сообщения требуется регистрация/авторизация