Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как при открытии строки таб. части указать родителя чтобы справочник открылся уже с нужной

v7: Как при открытии строки таб. части указать родителя чтобы справочник открылся уже с нужной
Я
   Teh
 
05.03.18 - 11:42
Добрый день!

Есть документ с табличной частью. В каждой строке табличной части необходимо указать основное средство. Но хочется чтобы папка открывалась сразу машины и оборудование например, а не корень.

Как это можно настроить?
 
 
   Хряк
 
1 - 05.03.18 - 11:52
а программа то откуда узнает, что надо машины и оборудование открыть?
   Torquader
 
2 - 05.03.18 - 11:52
А разве оно автоматом так не делает, если вообще без кода открывать ?
   Torquader
 
3 - 05.03.18 - 11:53
Потом, можно открыть форму, установить текущий элемент в папку, которая нужна - должно открыть то, что нужно.
   Teh
 
4 - 05.03.18 - 11:54
У меня в шапке есть основное средство. В таблице нужно указать из той же папки что и оно.

Спр = СоздатьОбъект("Справочник.ОсновныеСредства");
     Спр.НайтиПоКоду(ОС_Шапка.Код);
     Род=Спр.Родитель; 

Переменная Род будет содержать родителя.
   Teh
 
5 - 05.03.18 - 11:56
(2) стандартно открывает справочник верхний уровень
   Teh
 
6 - 05.03.18 - 12:00
(2) делает, если вручную строку создавать, после того как в предыдущей указано ос. Только у меня строки заполнены процедурой. И при открытии все время в верхний уровень открывает.
   Torquader
 
7 - 05.03.18 - 12:03
// где-то примерно так.

Если ОткрытьФорму(,,Context)=1 Тогда
 Если Спр.НайтиЭлемент(ЭлементВШапкеФормы)=1 Тогда
  Context.ТекущийЭлемент=Спр.ТекущийЭлемент();
 КонецЕсли;
КонецЕсли;
   IvaneS
 
8 - 05.03.18 - 12:03
А делай переменную в справочнике пользователя "ЛюбимаяПапкаОС" и по умолчанию фокусируй туда.
Можно при закрытии формы списка ОС запомнить позицию и вернуть при открытии... Последний я часто использовал)))
   Ёпрст
 
9 - 05.03.18 - 12:04
(4) в ПриНачалеВыбораЗначения пишешь
Если Ид = "ИмяРеквизитаВТабЧасти" Тогда
   СтатусВозврата(0);
   конт = "";
   ОткрытьФорму("Справочник.ОсновныеСредства",Конт);
   Конт.ИспользоватьРодителя(ОснСредствоИзШапки.Родитель,1);
КонецЕсли;
   Teh
 
10 - 05.03.18 - 13:48
(9) Спасибо, получилось. Остальные варианты слишком сложные для меня показались.

Процедура ПриНачалеВыбораЗначения(Ид)  
    Спр = СоздатьОбъект("Справочник.ОсновныеСредства");
    Спр.НайтиПоКоду(ОС_Шапка.Код);
    Род=Спр.Родитель; 
    Если Ид = "ОС_Новый" Тогда
        СтатусВозврата(0);
        конт = "";
        ОткрытьФорму("Справочник.ОсновныеСредства",Конт);
        Конт.ИспользоватьРодителя(Род,1);
    КонецЕсли;
КонецПроцедуры

Всем благодарности.
 
 Рекламное место пустует
   1Сергей
 
11 - 05.03.18 - 13:50
(10) лишняя писанина и потенциальная ошибка

    //Спр = СоздатьОбъект("Справочник.ОсновныеСредства");

    //Спр.НайтиПоКоду(ОС_Шапка.Код);

    //Род=Спр.Родитель; 

    Род=ОС_Шапка.Родитель; 

   Teh
 
12 - 05.03.18 - 13:55
(11) У меня до этого была процедура, которая создавала для ОС шапка папку и перемещала его туда. И проверка чтобы при повторном вызове не создавалась еще одна папка. Проверка не срабатывала, пока я не переписала "Род=ОС_Шапка.Родитель" в то что у меня (писанина). Хотя если я открывала это поле и закрывала, видимо в форме перечитывалось значение нового родителя и проверка работала. В общем может и лишняя, главное чтоб сюрпризов не было.
   Teh
 
13 - 05.03.18 - 14:07
Все это делаю для разового разделения основных средств оприходованных на одну карточку (количества больше одного).
Выбираю основное средство, потом выбираю по нему документы прихода и перемещения. Для ос_шапка создаю папку и перемещаю его туда (для визуального удобства). Создаю дубли по количеству на остатке, записываю в ту же папку. Заполняю ими ячейки строк служебного документа (ос_новый) в тех строках где стоит документ прихода. А вот в строках перемещения возможно останется выбирать вручную, вот тогда пригодится открытие в нужной папке. Хотя может еще придумаю как это прописать автоматом.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует