Имя: Пароль:
1C
1С v8
Задание название документа в зависимости от вида подсистемы
0 vitaliklibra
 
17.05.15
07:27
Приветствую, коллеги!

Платформа 8.2. Управляемые формы. Конфигурация не играет роли.

Интересует, собственно, то, о чем создана тема. Поясню. Есть один и тоже документ (или справочник, или другой объект конфигурации), и я его включаю в несколько подсистем. Возможно ли задать его имя (в области переходов слева) в зависимости от того, в какой подсистеме я его отражаю?

Заранее спасибо!
1 фобка
 
17.05.15
07:30
Нет
2 фобка
 
17.05.15
07:32
Попробуй сделать команды на открытие по одной на полсистему и отразить их вместо дока
3 vitaliklibra
 
17.05.15
07:35
Не, так не выйдет. Я размещаю этот документ на одной и той же закладке подсистемы. И на ней же разношу по разным подсистемам.

К примеру. Общая подсистема: "Оперативный учет", ей подчинены "Закупки" и "Продажи". И подчиненный каждой из этих подсистем один и тот же документ... Надеюсь, доступно объяснил.
4 фобка
 
17.05.15
07:45
(3) на здоровье, сделай по одной команде на каждую подсистему а в интерфейсе отражение документа скрой
5 vitaliklibra
 
17.05.15
07:49
Извини, не так тебя понял( Прост не пользовался раньше общими командами. Щас вот проверил - работает!)))) Спасибо большое! Хорошего дня! Думаю, вопрос закрыт...
6 vitaliklibra
 
17.05.15
08:03
Прошу прощения за глупейший вопрос, но почему-то здесь стандартные методы не работают...

Создал новую общею команду. В модуле разместил:


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    СоздатьНовыйСчет();
        
КонецПроцедуры

&НаСервере
Процедура СоздатьНовыйСчет()
    
    НовыйСчет = Документы.СчетНаОплату.СоздатьДокумент();
    НовыйСчет.ПолучитьФорму("ФормаДокумента").Открыть();    
    
КонецПроцедуры

Выдает ошибку:

{ОбщаяКоманда.СоздатьСчетПокупателю.МодульКоманды(13)}: Ошибка при вызове метода контекста (ПолучитьФорму)
    НовыйСчет.ПолучитьФорму("ФормаДокумента").Открыть();    
по причине:
Интерактивные операции недоступны


Я от терь и ХЗ, что делать... Метода "Показать" нету. Есть идеи?
7 Лефмихалыч
 
17.05.15
08:05
Разные синонимы в области переходов = разные команды. Одной команде разные синонимы нельзя дать. Совсем.
8 фобка
 
17.05.15
08:05
Не так немного, документ создавать не нужео. Просто ОткрытьФорму("документы.тттт.формадокумента");
9 фобка
 
17.05.15
08:07
всевыполняется  на клиенте
10 vitaliklibra
 
17.05.15
08:07
(7) Подскажи, как и где задать разные синонимы, что они действовали для выбираемых подсистем?
11 vitaliklibra
 
17.05.15
08:12
(8) + (9) = Получилось!) НО!!! Теперь, если после такого вызова я закрываю это окно своего документа, команда повторно его не открывает( Т.е. будто оно и не закрыто вовсе. Неужели нужно еще нужно где-то какой-то код дописывать???
12 фобка
 
17.05.15
08:13
(11) про окна не понял сейчас. У тебя в отдельных окнах режим?
13 vitaliklibra
 
17.05.15
08:17
(12) Да. А это играет роль?
14 vitaliklibra
 
17.05.15
08:19
(12) ... а в окнах на вкладках - все работает! Это как так понимать??? О_О
15 vitaliklibra
 
17.05.15
08:30
Нашел одну особенность...

В модуле формы моего создаваемого документа прописал для проверки:

&НаКлиенте
Процедура ПриЗакрытии()
    Закрыть("Документ.СчетНаОплату.Форма.ФормаДокумента");
КонецПроцедуры

Получил ошибку:

{Документ.СчетНаОплату.Форма.ФормаДокумента.Форма(53)}: Ошибка при вызове метода контекста (Закрыть)
    Закрыть("Документ.СчетНаОплату.Форма.ФормаДокумента");
по причине:
Операция не доступна для неоткрытой формы


С чем такое может быть связано?
16 фобка
 
17.05.15
08:32
(15) при закрытии закрыть() бессмысленно
17 фобка
 
17.05.15
08:33
(14) не знаю, я на вкладках всегда разрабатывал, чтобы юзера не путались в мильёне открытых окон. Посмотри параметры метода ОткрытьФорму()
18 vitaliklibra
 
17.05.15
08:33
(16) Это я понимаю)) Но почему оно его якобы не открывает, чтоб топот закрыть и опять открыть?
19 фобка
 
17.05.15
08:38
(18) не понимаю ситуацию. Доступна всегда только одна открытая форма объекта, две одновременно открыть нельзя. Если нажмешь 10 раз создать один документ - создастся только один
20 vitaliklibra
 
17.05.15
08:38
Нифига не пойму. Т.е. Синтаксис ясен, а вот применение параметра...

<Параметры> (необязательный)
Тип: Структура.
Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры.

П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();

И что же мне из своих параметров нужно туды передать? Чёт я вопще запутался... =(
21 фобка
 
17.05.15
08:40
П  = новый структура("значениязаполнения", новый структура("поставщик", поставщик));
22 vitaliklibra
 
17.05.15
08:41
(18) Ну смотри. Я нажал свою команду. Она открыла окно, я что-то ввел, а потом решил закрыть. Ничего не нажимая и никуда не переходя, нажимаю снова свою кнопку. Ничего не происходит. В том же случае, если окна на вкладках, всё работает правильно! Нажал - открылось. Закрыл. Нажал, опять открылось. Закрыл. Еще раз нажал. Опять открылось. Как-то так. А есть в отдельных окнах, такого не происходит(
23 vitaliklibra
 
17.05.15
08:42
(21) Так а сам-то "Поставщик" чему равняется?
24 фобка
 
17.05.15
08:45
(22) странно. Передай владельца формы (этаФорма) и блокировать окно владельца
25 фобка
 
17.05.15
08:47
(23) какой сделаешь тому и равняется, это же твой параметр для передачи. Я в (21) описал параметры для автоматического заполнения формы вновь созданного документа при открытии
26 vitaliklibra
 
17.05.15
08:54
(24) "ЭтаФорма" не доступна.

Заметил вот еще что. После нажатия команды, вызова формы и его закрытия, отладчик туда (в модуль кнопки) больше не попадает. Может тут проблема?
27 vitaliklibra
 
17.05.15
14:53
Народ, ау!!! Неужели вариантов больше нет? Я перепробовал уже все. Но последнее, что удалось толковое узнать - это (26) Жаль...(
28 z0ne
 
17.05.15
18:58
Для панели навигации и режима открытия в отдельных окнах - это нормальное поведение. Для создания новых документов надо панель действий использовать. Либо если прям надо на панели навигации оставить, то кликай с шифтом, всегда будет работать, но в отдельном окне.
29 vitaliklibra
 
17.05.15
19:21
(28) - спасибо!) Этого я не знал! Правда, я уже все переиначил и создал 2 вида документов, отличающихся самым минимумом и, естесственно, назначением. Пока что некогда долго копаться - сижу уже 1,5 суток не спавши)...
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.