К списку форумов К списку вопросов
Спр -> подчиненный , владелец? (форма списка)
Очкарик
21.09.2004 - 10:41
Доброго времени суток.
Вопрос в следующем:
Из справочника - владельца интерактивно открываю подчиненный.(форму списка)
На форме есть кнопка с процедурой, для автоматического создания записей в этом подчиненном справочнике.
Получаю: Не выбран элемент справочника-хозяина! Элемент не может быть записан!
Не видит владельца...
Замучился уже,...
Процедура ЗагрузитьТовары()
  СпрЦены = СоздатьОбъект("Справочник.ПрайсКлиента");
  Спр = СоздатьОбъект("Справочник.Номенклатура");
  Спр.ВыбратьЭлементы(1);
  Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Если Спр.ПометкаУдаления() = 1 Тогда
      Продолжить;
    КонецЕсли;
    Если Спр.ЭтоГруппа() = 1 Тогда
      Продолжить;
    КонецЕсли;
    Если Спр.Снят_с_производства = 1 Тогда
      Продолжить;
    КонецЕсли;
    СпрЦены.Новый();
    //
    СпрЦены.ИспользоватьВладельца(СпрЦены.Владелец);
    СпрЦены.Товар = Спр.ТекущийЭлемент();
    СпрЦены.Валюта = Константа.БазоваяВалюта;
    СпрЦены.Цена = Спр.РозничнаяЦена.Получить(ТекущаяДата());
    СпрЦены.Записать();
  КонецЦикла;
КонецПроцедуры
Что не так?
gnus
1 - 21.09.2004 - 10:45
похоже вот это:
    СпрЦены.Новый();
    //
    СпрЦены.ИспользоватьВладельца(СпрЦены.Владелец);
новый элемент создан и еще не записан, и владельца у него просто нет
Добрый
2 - 21.09.2004 - 10:45
СпрЦены.ИспользоватьВладельца(СпрЦены.Владелец);
а ужо потом
СпрЦены.Новый();
Fram
3 - 21.09.2004 - 10:45
ошибка здесь: СпрЦены.ИспользоватьВладельца(СпрЦены.Владелец);
как исправить попробуй догадайся сам
MetaEditor
4 - 21.09.2004 - 10:47
СпрЦены.ИспользоватьВладельца(ТекущийЭлемент().Владелец);
Очкарик
5 - 21.09.2004 - 10:49
1, это да, собственно на форму кинул текст с формулой Владелец, пока итерактивно не создаш хоть одну запись, не работает.
2, не прокатывает..., таже фигня..
defender
6 - 21.09.2004 - 10:49
чего мудрите СпрЦены.ИспользоватьВладельца(Спр.ТекущийЭлемент());
defender
7 - 21.09.2004 - 10:52
упс... а кто чей владелец то?
Очкарик
8 - 21.09.2004 - 10:52
4, не работает.
6, нужно подчинение спр.котрагентам.
3, перепробовал много комбинаций, пока результат = 0 :(
defender
9 - 21.09.2004 - 10:55
ну так делай тогда какой нить СпрЦены.ИспользоватьВладельца(ВыбранныйКонтрагент);
Очкарик
10 - 21.09.2004 - 10:56
Я так понимаю, что основная проблема состоит в том, что бы получить владельца при открытой форме списка подчиненного справочника, еще до того, как первый элемент будет в ней создан.
На заголовке формы этот клиент указан, а на самой форме его получить не удается. Только после того, как будет создан первый элемент в форме списка, на форме в тексте с формулой"Владелец" появляеттся соответствующий клиент.
Очкарик
11 - 21.09.2004 - 10:58
9, да, вот его и надо узнать, этого "ВыбранныйКонтрагент"а.
defender
12 - 21.09.2004 - 10:59
вообще вот так наверное надо...
СпрЦены.Новый();
СпрЦены.Владелец=<Какой то Контрагент>;
СпрЦены.Товар = Спр.ТекущийЭлемент();
СпрЦены.Валюта = Константа.БазоваяВалюта;
СпрЦены.Цена = Спр.РозничнаяЦена.Получить(ТекущаяДата());
СпрЦены.Записать();
Муму после всплытия
13 - 21.09.2004 - 11:00
(10)
ИспользоватьВладельца()....................
ПРосто Гений
14 - 21.09.2004 - 11:04
СпрЦены.ИспользоватьВладельца(Форма.Параметр);
Очкарик
15 - 21.09.2004 - 11:05
12, как узнать этого клиента, если форма списка открыта из справочника-владельца? (при условии что в ней нет ни одной строки...)
Придется через кнопку на владельце+Форма.Параметр? , хочется штатно...
defender
16 - 21.09.2004 - 11:06
(15) а что Форма.Параметр это уже не штатно? :-))
Очкарик
17 - 21.09.2004 - 11:10
16, когда открыты оба справочника (владелец и подчиненный) и оба видны на экране, то бегая во владельце по клиетам, попутно отображаются соответствующие наборы записей в подчиненном.
А я так понимаю, чтоб в подчиненном использовать форма.параметр, надо на владельце создать кнопку, с программным открытием, и втюхованием в параметр параметров.
Arey
18 - 21.09.2004 - 11:10
Только через Форма.Параметр
Муму после всплытия
19 - 21.09.2004 - 11:14
(17)
повторяю, блин.....................
в подчиненном справочнике
ПриОткрыти()
Сообщить(ИспользоватьВладельца())
Gloom
20 - 21.09.2004 - 11:14
Ну вы, блин даёте...
Процедура ПриОткрытии()
  Сообщить("Владелец " + ИспользоватьВладельца());
КонецПроцедуры
MetaEditor
21 - 21.09.2004 - 11:18
так, всем молчать, вот это работает, незнаю как у вас
(форма списка банковских счетов, подч-ого фирмам)
СпрФ=СоздатьОбъект("Справочник.Фирмы");
СпрФ.НайтиЭлемент(ТекущийЭлемент().Владелец);
СпрСч=СоздатьОбъект("Справочник.БанковскиеСчета");
СпрСч.ИСпользоватьВладельца(СпрФ.ТекущийЭлемент());
СпрСч.Новый();
СпрСч.Наименование="Проба";
СпрСч.Записать();
Очкарик
22 - 21.09.2004 - 11:23
19, 20 , YESSS!!!
Спасибо всем, вопрос снят.
Не обязательно, в процедуре приОткрытии.
Вот рабочия кусок:
Процедура ЗагрузитьТовары()
  СпрЦены = СоздатьОбъект("Справочник.ПрайсКлиента");
  Спр = СоздатьОбъект("Справочник.Номенклатура");
  Спр.ВыбратьЭлементы(1);
  Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Если Спр.ПометкаУдаления() = 1 Тогда
      Продолжить;
    КонецЕсли;
    Если Спр.ЭтоГруппа() = 1 Тогда
      Продолжить;
    КонецЕсли;
    Если Спр.Снят_с_производства = 1 Тогда
      Продолжить;
    КонецЕсли;
    Влад = ИспользоватьВладельца();
    СпрЦены.ИспользоватьВладельца(Влад);
    СпрЦены.Новый();
    СпрЦены.Товар = Спр.ТекущийЭлемент();
    СпрЦены.Валюта = Константа.БазоваяВалюта;
    СпрЦены.Цена = Спр.РозничнаяЦена.Получить(ТекущаяДата());
    СпрЦены.Записать();
  КонецЦикла;
КонецПроцедуры
________________________________________________________________________
Еще раз всем спасибо.
Удачи...

К списку вопросов на форуме 1C

>>