Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Вставить реквизит формы документа в отбор СКД          
Lexveritas Подменю пользователя
сообщение 30.05.18, 15:10
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 63
Спасибо сказали: 2 раз
Рейтинг: 0

1С8.3.10 УПП 1.3

Задача примерно такова:

Документ "Заказ Покупателя" делает движения дописанными полями в регистр накопления.
Имеется отчет, который вытягивает из него все необходимые данные.

Так же на форме документа добавлена кнопка "проверить корректность данных".

В данном случае по нажатию кнопки открывается отчет. Задумка такова - нажимаем на кнопку, по номеру документа получаем содержимое регистра с нужными ресурсами.

Мной найдено и в обработчик события "ПриОткрытии" добавлено вот что:
Процедура ПриОткрытии(ЭлементыФормы, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Форма = ПолучитьФорму("Документ.ЗаказПокупателя.Форма.ФормаДокумента");
    НомерЗаказа = Форма.Номер;
    Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
              Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НомерЗаказа") И ЭлементОтбора.ВидСравнения = ВидСравнения Тогда
                    КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
              КонецЕсли;
    КонецЦикла;
    НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ПолеОтбора = Новый ПолеКомпоновкиДанных("НомерЗаказа");
    НовыйЭлементОтбора.ЛевоеЗначение  = ПолеОтбора;
    НовыйЭлементОтбора.Использование  = Истина;
    НовыйЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Содержит;
    НовыйЭлементОтбора.ПравоеЗначение = НомерЗаказа;
    Форма.Открыть();
КонецПроцедуры


Вручную вместо НовыйЭлементОтбора.ПравоеЗначение = НомерЗаказа; пишу НовыйЭлементОтбора.ПравоеЗначение = "123"; нормально происходит отбор по номеру 123, что означает что отбор работает и я как то не правильно пытаюсь получить "НомерЗаказа".

Помогите получить номер в отбор.
Из одной формы в другую нормально получалось реквизит отправить, но с СКД и формами отчетов как то завис!

Буду признателен любой помощи!

Vidocq05 Подменю пользователя
сообщение 30.05.18, 17:13
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

Цитата(Lexveritas @ 30.05.18, 16:10) *
 Форма = ПолучитьФорму("Документ.ЗаказПокупателя.Форма.ФормаДокумента");
    НомерЗаказа = Форма.Номер;

Судя по всему здесь НомерЗаказа равен пустой строке.

Lexveritas @ Сегодня, 16:10 * ,
Вообще задача не понятна. Например, при открытии какой формы срабатывает Ваш код?

Lexveritas Подменю пользователя
сообщение 30.05.18, 20:20
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 63
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Vidocq05 @ 30.05.18, 18:13) *
Вообще задача не понятна. Например, при открытии какой формы срабатывает Ваш код?


Отчет. Основная форма. Событие "ПриОткрытии".

Прошу прощения, забыл указать!

Сама форма отчета и отбор по указаным параметрам срабатывает.

Я не могу из формы документа ЗаказПокупателя отправить реквизит "Номер" в параметры отбора.

Prospero Подменю пользователя
сообщение 31.05.18, 8:05
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 68
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

Lexveritas @ Вчера, 21:20 * ,
НомерЗаказа - Переменная в отчете?

Vofka Подменю пользователя
сообщение 31.05.18, 8:08
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Lexveritas, в пустой форме (которую вы получаете методом ПолучитьФорму()) нету никаких значений. Точнее, все значения всех реквизитов формы, будут со значениями по умолчанию (пустая ссылка, 0, пустая строка, пустая дата и т.п.). Вам нужно из документа в отчет передать Ссылку на текущий документ и отбор устанавливать по этой Ссылке.

Сообщение отредактировал Vofka - 31.05.18, 8:09

Спасибо сказали: Lexveritas,

Lexveritas Подменю пользователя
сообщение 31.05.18, 8:44
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 63
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Vofka @ 31.05.18, 9:08) *
Вам нужно из документа в отчет передать Ссылку на текущий документ и отбор устанавливать по этой Ссылке.


Путем не понятно как я дехал что получаю пустые данные. При том еще и создается новый документ заказа.

Вот сам то и вопрос как из документа в отчет передать Ссылку...

Vofka Подменю пользователя
сообщение 31.05.18, 9:38
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Вариантов есть несколько. Самый надежный и понятный, на мой взгляд, что-то вроде следующего.

Добавляете своему отчету реквизит Ссылка типа Документ.ЗаказПокупателя. В заказе добавляете кнопку и в обработчике нажатия пишете:

Отчет = Отчеты.МойОтчет.Создать();
Отчет.Ссылка = Ссылка;
Отчет.ПолучитьФорму().Открыть();


Далее в отчете в ПриОткрытии получаете ссылку на документ через свойство Ссылка отчета. Ну и делаете уже что хотите с этим.

Сообщение отредактировал Vofka - 31.05.18, 9:38

Спасибо сказали: Lexveritas,

logist Подменю пользователя
сообщение 31.05.18, 14:34
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Lexveritas @ 30.05.18, 16:10) *
получаем содержимое регистра с нужными ресурсами.

А чем не подходит типовой отчет Движения по регистрам?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Lexveritas Подменю пользователя
сообщение 04.06.18, 8:53
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 63
Спасибо сказали: 2 раз
Рейтинг: 0

Чудно!
Спасибо всем за помощь! Заработало!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 22:48
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!