Версия для печати темы (https://pro1c.org.ua/index.php?s=60b6c072bc9402e8bf64c0c3b8bfd82d&showtopic=33976)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Как передать Организация и Склад из документа в обработку печать ценников?

Автор: Altem 16.12.16, 11:28

Подскажите, как передать Организация и Склад из документа в обработку печать ценников?
Вывожу на из документа Поступления на печать ценники, т.е. при нажатии в доке на печать открывается обработка и туда передается номенклатура дока. А как передать Организация и Склад ?

Функция ПечатьЦенников()

Запрос = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ИСТИНА КАК Печать,
| Док.Номенклатура КАК Номенклатура,
| Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| Док.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| 0 КАК Цена,
| 1 КАК Количество
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК Док
|ГДЕ
| Док.Ссылка = &Док
|");

Запрос.УстановитьПараметр("Док", Ссылка);

ОбработкаПечатьЦенников = Обработки.ПечатьЦенниковСШаблонами.Создать();
ОбработкаПечатьЦенников.Товары.Загрузить(Запрос.Выполнить().Выгрузить());

СтруктураПараметров = Новый Структура;
//СтруктураПараметров.Вставить("ЗаполнитьЦены", Истина);

ФормаПечатьЦенников = ОбработкаПечатьЦенников.ПолучитьФорму("Форма");
ФормаПечатьЦенников.Параметр = СтруктураПараметров;
ФормаПечатьЦенников.Открыть();

КонецФункции // ПечатьЦенников()

Автор: Petre 16.12.16, 11:41

Altem @ Сегодня, 11:28 * ,
Вариантов много.
Например, через "СтруктураПараметров".

Автор: Altem 16.12.16, 11:52

Petre @ Сегодня, 13:41 * ,
Пробывал

СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("ЗаполнитьЦены", Истина);
    СтруктураПараметров.Вставить("Организация", Истина);


не выходит

Автор: Altem 16.12.16, 12:52


Один из вариантов помог вывести только склад

ОбработкаПечатьЦенников.Склад= СкладОрдер;


А вот организацию такой вариант не выводит
ОбработкаПечатьЦенников.Организация = Организация;

Автор: Flexy 16.12.16, 12:56

Если Организация реквизит объекта, можно так:

ОбработкаПечатьЦенников.Объект.Организация = Организация;


Автор: Altem 16.12.16, 13:01

Flexy @ Сегодня, 14:56 * ,

реквизит Организация есть

Выдает ошибку
{Документ.ПоступлениеТоваровУслуг.МодульОбъекта(109)}: Поле объекта не обнаружено (Объект)

Автор: Flexy 16.12.16, 13:03

Давайте весь код функции. Ошибка связанна с самим документов, а не с обработкой.
Или так:

ОбработкаПечатьЦенников.Организация = ЭтотОбъект.Организация;


Автор: podcast 16.12.16, 13:23

Altem @ Сегодня, 11:28 * ,

Параметры = Новый Структура("Организация",Организация);
ФормаВыбора = ПолучитьФорму("Обработки.ОбработкаПечатьЦенников",Параметры);

Если реквизиты совпадают, то должно примерно так.

Автор: Petre 16.12.16, 14:09

Цитата(Altem @ 16.12.16, 11:52) *
не выходит

Что не выходит? Передать? Или получить?

Автор: Altem 16.12.16, 14:17

Flexy @ Сегодня, 15:03 * ,
Код Функции

Функция ПечатьЦенников()

Запрос = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ИСТИНА КАК Печать,
| Док.Номенклатура КАК Номенклатура,
| Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| Док.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| 0 КАК Цена,
| 1 КАК Количество
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК Док
|ГДЕ
| Док.Ссылка = &Док
|");

Запрос.УстановитьПараметр("Док", Ссылка);

ОбработкаПечатьЦенников = Обработки.ПечатьЦенниковСШаблонами.Создать();
ОбработкаПечатьЦенников.Товары.Загрузить(Запрос.Выполнить().Выгрузить());
ОбработкаПечатьЦенников.Склад= Ссылка.СкладОрдер;

СтруктураПараметров = Новый Структура;
//СтруктураПараметров.Вставить("ЗаполнитьЦены", Истина);

ФормаПечатьЦенников = ОбработкаПечатьЦенников.ПолучитьФорму("Форма");
ФормаПечатьЦенников.Параметр = СтруктураПараметров;
ФормаПечатьЦенников.Открыть();

КонецФункции // ПечатьЦенников()


Petre @ Сегодня, 16:09 * ,
Обработка печати ценников не получает от документа реквизит Организация

Автор: Petre 16.12.16, 14:21

Цитата(Altem @ 16.12.16, 14:17) *
Обработка печати ценников не получает от документа реквизит Организация

Остановитесь отладчиком в "ПриОткрытии" формы обработки "ПечатьЦенниковСШаблонами" и посмотрите, чему равно "Параметр".

Автор: Altem 16.12.16, 14:33

Petre @ Сегодня, 16:21 * ,
отладчиком остановил. Параметр правильно определяется именно той организации, как в документе.
А в форме обработке не заполняет.

Автор: Petre 16.12.16, 14:59

Цитата(Altem @ 16.12.16, 14:33) *
А в форме обработке не заполняет.

Передача параметра просто передает параметр. Читайте его и заполняйте в "ПриОткрытии".
Не видя структуры обработки, сложно помочь. Если там есть одноименный реквизит или экспортная переменная, то http://pro1c.org.ua/topic/kak-peredat-organizatsiya-i-sklad-iz-dokumenta-v-obrabotku-pechat-tsennikov-33976/?st=0&#.

Автор: Altem 16.12.16, 15:18

Petre @ Сегодня, 16:59 * ,
Спасибо большое! Помогло.
А также всем кто помогал

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua