Имя: Пароль:
1C
1С v8
Печать выделенной позиции в документе
,
0 Misty
 
07.12.18
09:02
Добрый день. Документ Установка цен номенклатуры. Можно ли сделать доп. печатную форму, которая будет обрабатывать только выделенную позицию номенклатуры. Как в доп. печатную форму передать эту самую позицию.
Спасибо
1 Tatitutu
 
07.12.18
09:05
Можно .способов много разных
2 shadow_sw
 
07.12.18
09:17
Элементарно, Ватсон
3 Галахад
 
гуру
07.12.18
09:23
Гм. А я не знаю... :-(
4 Misty
 
07.12.18
09:25
Капец, как все здесь любят умничать. Можно наверное и подсказать или если слишком умные то просто пройти мимо и не снисходить до общения с простыми смертными.
5 shadow_sw
 
07.12.18
09:35
в печатную форму передавать выделенную строку из ТЧ, вместо всей ТЧ
6 Misty
 
07.12.18
09:44
(5)  вот я и спрашиваю как? У меня в печ. форму передается весь документ. или выделенные документы. я сделала в печ. форме реквизит - ссылкаНаОбъект - установила значение Установка цен номенклатуры. Если я указываю - СсылкаНаОбъект.ПолучитьФорму("ФормаДокумента").ЭлементыФормы.ДеревоЦен.ТекущаяСтрока.номенклатура - мне выдает ошибку - объект не выбран.
7 shadow_sw
 
07.12.18
09:55
(6) конфа 1с Бордель?
8 Misty
 
07.12.18
09:57
ут 11.4.3.144
9 shadow_sw
 
07.12.18
09:58
&НаКлиенте
Процедура ПолучитьВыделеннуюСтроку(Команда)
    ПолучитьВыделеннуюСтрокуНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПолучитьВыделеннуюСтрокуНаСервере()
    ТекСтрока = Элементы.ТабличнаяЧасть.ТекущаяСтрока;
    Объект.ТабличнаяЧасть[ТекСтрока].РеквизитТЧ;
КонецПроцедуры

что то типа того
10 Misty
 
10.12.18
04:43
у меня внешняя печатная форма, в которой есть реквизит = ссылкаНаОбЬект - документ "установка цен номенклатуры".
В модуле формы
&НаКлиенте
Процедура Печать(ИдентификаторКоманды,ОбъектыНазначения) Экспорт

    СсылкаНаОбъект = ОбъектыНазначения[0];
    ПолучитьВыделеннуюСтроку(СсылкаНаОбъект)
    
КонецПроцедуры

&НаСервере
Процедура ПолучитьВыделеннуюСтроку(ДокТек)
    ТекСтрока = ДокТек.ПолучитьФорму("ФормаДокумента").ЭлементыФормы.ДеревоЦен.ТекущаяСтрока; //.номенклатура
КонецПроцедуры

Ошибка следующая - Ошибка при вызове метода контекста (ПолучитьФорму) - "Интерактивные операции недоступны"
11 Misty
 
10.12.18
05:15
в тонком клиенте выдает ошибку, а в толстом - все нормально. Заработало все вот так
&НаКлиенте
Процедура Печать(ИдентификаторКоманды,ОбъектыНазначения) Экспорт
Объект.СсылкаНаОбъект = ОбъектыНазначения[0];
ВыдСтр = Объект.СсылкаНаОбъект.ПолучитьФорму("ФормаДокумента").Элементы.ДеревоЦен.ТекущиеДанные.Номенклатура ;
КонецПроцедуры

Как тогда сделать, чтобы это работало в тонком клиенте?
12 Конструктор1С
 
10.12.18
05:20
13 Галахад
 
гуру
10.12.18
05:27
Немного коряво, по рабоче-крестьянски.
В форме документа, где-то при активизации строки

    стХЗ = Новый Структура();
    стХЗ.Вставить("МассивНоменклатуры", МассивНоменклатуры);
    
    ХЗ = Новый ХранилищеЗначения(стХЗ);
    ПараметрыСеанса.ОбщиеЗначения = ХЗ;

    
В печатной форме:    

    ХЗ = ПараметрыСеанса.ОбщиеЗначения;
    ЗначениеХЗ = ХЗ.Получить();
    
    Если ТипЗнч(ЗначениеХЗ) = Тип("Структура") Тогда
        МассивНоменклатуры = ЗначениеХЗ.МассивНоменклатуры;
        Если ТипЗнч(МассивНоменклатуры) = Тип("Массив") Тогда        
            Для Каждого Товар Из МассивНоменклатуры Цикл
                СписокЗначений.Добавить(Товар);
            КонецЦикла;
        КонецЕсли;
    КонецЕсли;
14 Misty
 
10.12.18
06:44
(13)  это же типовая конфигурация, нельзя ее править
15 Галахад
 
гуру
10.12.18
07:16
Гм. А так? (не проверял)

    ОкнаПриложения = ПолучитьОкна();
    Для каждого ОкноПриложения Из ОкнаПриложения Цикл
        Если Найти(ОкноПриложения.Заголовок, "ааааа") > 0 Тогда
            НайденнаяФорма = ОкноПриложения.Содержимое[0];
            ТекСтр = НайденнаяФорма.Товары.ТекущиеДанные;
        КонецЕсли;
    КонецЦикла;
16 Мимохожий Однако
 
10.12.18
08:03
(14) Сделай через расширение
17 Misty
 
10.12.18
08:57
все и так сработало, ну и пусть будет толстый клиент.
Всем большое спасибо.