Имя: Пароль:
1C
1C 7.7
v7: ТиС. Журнал документов. Возможно-ли передать параметр из журнала в новый документ?
,
0 aka AMIGO
 
15.08.17
14:51
Журнал с отбором по клиенту, шеф видит в окошке выбора этого клиента, и хочет, чтобы при нажатии кнопки "Новый" выскочил этот документ с этим вот клиентом.
https://i.paste.pics/c318f70cf2795d2ed7e75ebc980b134b.png
Я предлагал создавать такой документ иконкой "Копирование", тогда проблем нет, Клиент передается, остается только почистить табличную часть.

Разъясняю (насколько сам понимаю), что создание документа производится на уровне Платформы, и вмешательство невозможно. Шеф говорит: ищи, надо сделать именно так.

Поискал, способа передать в новый документ Параметр - не увидел..
Может быть, есть такой, а мне невдомёк? (
1 aka AMIGO
 
15.08.17
15:02
Почитал уже и ЖКК и СП, не увидел ничего даже близко к решению
2 HateEgais
 
15.08.17
15:04
Самый простой способ - завести глобальную переменную и передавать в нее значение контрагента при его изменении. А в документе при вводе нового проверять, что торчит в этой переменной.
3 aka AMIGO
 
15.08.17
15:05
(2) Да, пожалуй, это самый простой и лучший способ.
Спасибо!

Всё, ребята, проблема отпала :)
4 vcv
 
15.08.17
15:14
Можно взять FormEx. И написать примерно так (писал без проверки, за работоспособность не отвечаю):

Процедура ВводНового(Скопирован, СкопированныйДокумент)

    Если Скопирован = 0 Тогда
        Конт = 0;
        Сервис.АктивныйКонтекст(Конт);
        Если ТипЗначенияСтр(Конт) = "ГрупповойКонтекст" Тогда
            ИмяОтбора = "";
            ЗначениеОтбора = "";
            Попытка
                Конт.ПолучитьОтбор(ИмяОтбора,ЗначениеОтбора);
            Исключение
            КонецПопытки;
            Если ПустоеЗначение(ИмяОтбора) = 0 Тогда
                Если ТипЗначенияСтр(ЗначениеОтбора) = "Справочник" Тогда
                    Если ЗначениеОтбора.Вид() = "Контрагенты" Тогда
                        Предупреждение(ИмяОтбора + "=" + ЗначениеОтбора);
                    КонецЕсли;
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
....
5 vcv
 
15.08.17
15:18
(2) А в какой момент будете устанавливать "значение контрагента при его изменении"? У пользователя может быть открыт общий журнал с отбором, журнал отдельно коммерческих предложений без отбора, на экране активен другой открытый документ, а коммерческое предложение будет создано из меню.
И какого и откуда вы будете брать "контрагента при его изменении" ?
6 Масянька
 
15.08.17
15:20
(0) Сделай "special for you" - кнопку и пусть жмакает на неё.
7 aka AMIGO
 
15.08.17
15:24
(5) Уже создана в ГМ
Переменная ОтборныйКлиент Экспорт;

В Журнале:
Процедура УстановкаКлиента() //в свойствах поля ввода - переменная ВыбКлиент:  
    
    Если ВыбКлиент.Выбран() > 0 Тогда    
          УстановитьОтбор("КлиентКомПредл", ВыбКлиент);
          ОтборныйКлиент = ВыбКлиент;
    Иначе
...

(6) Масянечка, это я предложил ему первым делом.. Покривился слегка :)
8 aka AMIGO
 
15.08.17
15:25
(7) + сейчас проверяю, что наваял..
9 aka AMIGO
 
15.08.17
15:29
Всё путём, рабята & девчата :)
Заработало :)
10 aka AMIGO
 
15.08.17
15:40
+7 еще в модуль журнала, в тело, в самый низ добавил оператор
ОтборныйКлиент="";

Иначе экспортная переменная остается, что не очень красиво :)
11 Масянька
 
15.08.17
15:42
(7) Эх, ты...
После того, как я начальнику девочек сделала - стал намного корректнее задачи ставить. И всегда (!!!) теперь слушает и обсуждает.
12 Базис
 
naïve
15.08.17
15:43
Скучно у вас в семёрке. Всё работает, всё летает, задачи решаются быстро.


Переходите на восьмёрку! ИТ отдел заведёте, совещания, диаграммы, софт как инвестиция, МСФО и ЁТМ на каждом шагу.
13 Волшебник
 
модератор
15.08.17
16:04
(12) Семёрка уже никому не нужна. И семёрошники тоже.
14 aka AMIGO
 
15.08.17
16:08
А вот шефу моему 8-ка не нужна :)
Производство исправно работает на 7-ке, а 8-ку еще править надооо.. под наши задачи :)
15 aka AMIGO
 
15.08.17
16:09
Хотя, одну 8-рочную конфу купили, но об этом - в другой раз :)
16 Злопчинский
 
15.08.17
16:24
(2) бяка.
новый документ может вводиться и тогда когда журнал не является активным окном
17 aka AMIGO
 
15.08.17
16:27
(16) Всё ты правильно говоришь, но ситуация, как она есть, описана в сабже :)
18 Масянька
 
15.08.17
16:44
(13) А Вы не могли передать разработчикам: если семерка не нужна - пусть откроют код.
Вон и Borland код InterBase открыл...
19 Волшебник
 
модератор
15.08.17
16:45
(18) Но ведь Microsoft не открыла код Windows 3.11
20 aka AMIGO
 
15.08.17
16:49
(18) Зачем.. Набор функций у 7-ки вполне самодостаточен, код уже никому не интересен, 1с-ники-разработчики-энтузиасты занялись другими вещами..
21 Масянька
 
15.08.17
16:56
(19) 1С и MircoSoft - разные вещи.
(20) Есть зачем.
Независимо от того, куда вы едете — это в гору и против ветра!