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


1С:Предприятие ::

Метки:

простите за тупой вопрос... но как мне добраться программно....

Я
   Aiuan
 
28.07.04 - 12:36
простите за тупой вопрос... но как мне добраться программно до карточки товара?
 
 
   Aiuan
 
1 - 28.07.04 - 12:39
тьфу, блин.... до карточки партии тоесть....
   Diter
 
2 - 28.07.04 - 12:44
Партии=СоздатьОбъект("Справочник.Партии");
Партии.ИспользоватьВладельца(Товар)
...
дальше делай чего хочешь.
   Vovchik
 
3 - 28.07.04 - 12:45
Стандартно через СоздатьОбъект,а что нужно?
   Aiuan
 
4 - 28.07.04 - 12:48
я не совсем корректно вопрос задал....  справочнику партии подчинен еще один справочник (ЗначениеСвойства по полю Свойство)...так вот именно до этого я не могу добраться....
   Vovchik
 
5 - 28.07.04 - 12:53
Партии=СоздатьОбъект("Справочник.Партии"); 
Партии.ИспользоватьВладельца(Товар) ;
///Находишь нужную партию

//Партии.Свойство-через ссылку
СпрСвойство=СоздатьОбект("Справочник.ЗначенияСвойств");
СпрСвойство.ВыбратьЭлементы();
СпрСвойство.НайтиЭлемент(Партии.Свойство);
//на прямую


так?
   Diter
 
6 - 28.07.04 - 12:53
(4) Аналогично
Позицинируйся на партии, объявляй её владельцев подчинённого справочника и вперёд
   Crew
 
7 - 28.07.04 - 12:54
Партии.Свойства
   Vovchik
 
8 - 28.07.04 - 12:58
Партии.Свойство
открыл посмотрел
:))
   Aiuan
 
9 - 28.07.04 - 13:04
Вот такая во штука получается....


Пар=СоздатьОбъект("Справочник.Партии");
Пар.ИспользоватьВладельца(Товар);
Пар.Новый();
Пар.ИспользоватьВладельца(Товар);
Пар.ПриходныйДокумент    = Док.ТекущийДокумент();
Пар.Поставщик            = Док.Контрагент;
Пар.ДоговорПоставщика   = Док.Договор;
Пар.ЗакупочнаяЦена        = База.ы5;
Пар.ДатаВозврата        = База.ы2;   

СпрСвойство=СоздатьОбъект("Справочник.ЗначенияСвойств"); 
СпрСвойство.ВыбратьЭлементы(); 
Если СпрСвойство.НайтиЭлемент(ст1)=1 Тогда
     Пар.Свойство=ст1;
КонецЕсли;
   Diter
 
10 - 28.07.04 - 13:13
1.Ты забыл сохранить новую партию перед заполнением поля "Свойства"
2. Что такое ст1?
3. Для справочника ЗначениеСвойств тоже нужно использовать владельца - записанную тобой новую партию.
 
  Рекламное место пустует
   Aiuan
 
11 - 28.07.04 - 13:18
(10)
1. виноват дурак исправлюсь
2. ст1 это переменная с тем значением, которое мне нужно загнать в ЗначениеСвойства (вернее проверить, если такое згначение уже есть, то просто выбрать его для этой партии, если нет, то записать и выбрать)
3. понял.. щас попробую
   Diter
 
12 - 28.07.04 - 13:26
(11) по пункту 2 - как проверить, если ты только что владельца создал? справочник ЗначениеСвойств у тебя пустой!!!. (для данной партии конечно)
   Aiuan
 
13 - 28.07.04 - 13:33
тогда надо сдлать выборку по всему справочнику Значение Свойств...
   Aiuan
 
14 - 28.07.04 - 13:33
или как проверить?
   Diter
 
15 - 28.07.04 - 13:44
Да никак ты не проверишь. ы чего не понял? Этот справочник у тебя пустой для вновь созданного элемента-владельца. Тебе его не проверять надо, а заполнять. А потом проверить можно так
Партии=СоздатьОбъект("Справочник.Партии")
Партии.ИспользоватьВладельца(Товар);
Партии.НайтиЭлемент(НужнаяПартия);
Партия=Партии.ТекущийЭлемент();
ЗначенияСвойств=СоздатьОбъект("Справочник.ЗначенияСвойств");
ЗначенияСвойств.ИспользоватьВладельца(Партия);
ЗначенияСвойств.ВыбратьЭлементы();
нашли=0;
Пока ЗначенияСвойств.ПолучиттьЭлемент()<>0 Цикл
Свойство=ЗначенийСвойств.ТекущийЭлемент();
Если ИскомоеСвойство=Свойство Тогда
Сообщить("Ура, всё нашли");
Нашли=1;
КонецЕсли;
КонецЦикла;
Если Нашли=0 Тогда
ЗначенияСвойств.Новый();
..
..
..
ЗначенияСвойств.Записать();
КонецЕсли;
   Crew
 
16 - 28.07.04 - 13:46
(14)
Как ты собираешься подчинть один элемент нижнего уровня двум выше стоящим?
Зачем проверять? создавай новый и не парься.
   Shaytan
 
17 - 28.07.04 - 13:57
(9) А это зачем "СпрСвойство.ВыбратьЭлементы();" ?
   Aiuan
 
18 - 28.07.04 - 16:37
Свойство = СоздатьОбъект("Справочник.ЗначенияСвойств");
Виды        = СоздатьОбъект("Справочник.ВидыСвойств");

Если Виды.НайтиПоНаименованию("Номер издания")=1 Тогда
Свойство.ИспользоватьВладельца(Виды.ТекущийЭлемент());    
Свойство.ВыбратьЭлементы(); 
Ёп=0; 
Пока Свойство.ПолучитьЭлемент()<>0 Цикл 
Свойство1=Свойство.ТекущийЭлемент(); 
Если ст1=Свойство1 Тогда 
    Ёп=1; 
КонецЕсли; 
КонецЦикла; 
Если Ёп=0 Тогда 
Свойство.Новый(); 
Свойство.Наименование = ст1;
Свойство.Записать();
КонецЕсли;
КонецЕсли;

Записывать он  его записывает, а в карточке товара оно (свойство) не выводится все равно
   Aiuan
 
19 - 28.07.04 - 16:38
блин... в карточке партии в смысле...
   Diter
 
20 - 28.07.04 - 16:44
Так для вывода не достаточно его просто записать, теперь возвращаешся в созданный товар, и устанавливаешь значение реквизита равным нужному тебе свойству. Оно то уже есть в справочнике.
   Aiuan
 
21 - 28.07.04 - 16:49
Пар.Свойство            = Свойство.ТекущийЭлемент(); ???
   AnMoOr
22 - 28.07.04 - 16:49
Страна не пуганных идиотов (с) х/ф "Гений".
Гумно развод.
PS
Хорошо, что я ... Всё насквозь вижу.



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