Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Чтение из подчинённого справочника  (Прочитано 17509 раз)
0 Пользователей и 1 Гость смотрят эту тему.
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« : 20-11-2009 10:25 » 

Народ, как как сделать информационную строку из подчинённого справочника?
Имеется, например, справочник "клиенты", для него есть подчинённый справочник "должники" (в нём показываeся, что должен клиент). Вот как сделать, чтобы в обычной строке, которая находится в "клиентах", показывалось наименование справочника "должники"?
« Последнее редактирование: 20-11-2009 14:49 от Sel » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 20-11-2009 14:20 » 

Платформа?
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #2 : 23-11-2009 06:10 » 

Не понял вопроса. При чем тут это? У меня конкретный вопрос.
« Последнее редактирование: 23-11-2009 15:00 от Sel » Записан
Dest
Опытный

ru
Offline Offline

« Ответ #3 : 23-11-2009 07:03 » 

Версия 1с-ки какая?
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #4 : 23-11-2009 07:09 » 

версия 7.7
релиз (7,70,027)
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 23-11-2009 22:51 » 

Выборка подчиненных:
Код:
Спр=СоздатьОбъект("Справочник.Подчиненный");
Спр.ИспользоватьВладельца(ТекущийЭлемент);
Спр.ВыбратьЭлементы(1);
Пока Спр.ПолучитьЭлемент()=1 Цикл
    ... // Что-то делаем
КонецЦикла;

Вывод в строке:
Можно создать текстовое поле, в формуле которого прописать вызов функции с указанным выше кодом, которая вернет текстовую строку.
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #6 : 24-11-2009 06:07 » 

Функция СформироватьИнфо()
   спрТ = СоздатьОбъект("Справочник.Вещи"); 
   
       СпрТ.ИспользоватьВладельца(ТекущийЭлемент());
СпрТ.ВыбратьЭлементы(1);
Пока СпрТ.ПолучитьЭлемент()=1 Цикл
   форма.инфа.заголовок(спрТ.код);
КонецЦикла;
КонецФункции // СформироватьИнформационнуюСтроку()


вот так я написал. что тут не так. мне нада чтоб в инфСтроке показывался код подченённого. текущего элемента. Это всеравно что показывать цену товара из подченённого. никак немогу понять как можно заставить читать что то из подченённого.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 24-11-2009 10:13 » 

Если ты привязал это функцию к формуле текстового поля инфа то оно у тебя всегда будет пустым - эта функция должна возвращать строку:
Код:
Функция СформироватьИнфо()
спрТ = СоздатьОбъект("Справочник.Вещи");
   
СпрТ.ИспользоватьВладельца(ТекущийЭлемент());
СпрТ.ВыбратьЭлементы(1);
Стр="";
Пока СпрТ.ПолучитьЭлемент()=1 Цикл
//форма.инфа.заголовок(спрТ.код);
Стр=Стр+", "+спрТ.код;
КонецЦикла;
Возврат Стр;
КонецФункции // СформироватьИнформационнуюСтроку()

P.S. Используй теги [ code ]Здесь текст программ(без пробелов) и форматируй текст программы
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #8 : 24-11-2009 10:42 » 

спасибо огромное, то что надо!!!!!! а как теперь сделать чтобы он с этого подченённого справочника читал только первую строчку а не все через запятую
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 24-11-2009 16:04 » 

Код:
Пока СпрТ.ПолучитьЭлемент()=1 Цикл
// Здесь я обычно вставляю проверки в виде:
// Если спрТ.ПометкаУдаления()=1 Тогда Продолжить; КонецЕсли;
Стр=спрТ.код;
Прервать; // После первого удачного совпадения выходим из цикла
КонецЦикла;
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #10 : 25-11-2009 08:01 » 

спасибо. появилась ещё одна загвостка. делаю такой же способ в справочнике "номенклатура" у справочника есть подчинённый - "цены"
вывожу строку в номенклатуре чтобы там показывалась цена данного товара. а то так сильно долго и неудобно лазить чтоб посмореть цену. делаю тоже самое и неработает! дело в том что в "цены" есть реквизит цена и в свойствах у него - периодический. а с такими этот способ почему то не работает. как вывести эту цену клятую? уже замучился люди. хэлп
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 25-11-2009 11:47 » 

Спр.Цена.Получить(ДатаНаКоторуюНужноУвидитьРеквизит);
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #12 : 25-11-2009 12:07 » 

а это не нужно уже:
   
Код:
Пока СпрЦ.ПолучитьЭлемент()=1 Цикл

Стр=Стр+",  "+спрЦ.цена;
КонецЦикла;
или это нужно вместо строки - СпрЦ.ПолучитьЭлемент()=1

и что значит дата? поясните
« Последнее редактирование: 25-11-2009 12:11 от STALKER » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 26-11-2009 08:46 » 

Читать в синтакс-помощнике о методе Получить для периодических реквизитов
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #14 : 26-11-2009 10:32 » 

Получить(<?>)
Синтаксис:
Получить(<ЗначениеГруппировки1>,...,<ЗначениеГруппировкиN>)
Назначение:
Прямое позиционирование на запись в выборке по конкретным значениям группировок.
Возвращает: 1 - если запись найдена, 0 - иначе.
Параметры:
<ЗначениеГруппировкиN> - значение параметра N-ой группировки запроса.
Замечание:
Опущенные при вызове последние значения группировок должны заменяться запятыми. Если при вызове метода опущены все параметры, то выборка позиционируется на самое начало временного набора данных, на строку итогов. После выполнения метода Получить может осуществляться дальнейший обход выборки вызовами метода Группировка.


это всё что тут есть. что я сделаю то с помощью этого?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 26-11-2009 10:54 » 

Это для запроса, а не для периодических реквизитов:

Получить(<?>)
Синтаксис:
Получить(<Дата>)
Назначение:
Получить значение периодического реквизита справочника на дату или документ.
Возвращает - значение периодического реквизита справочника на заданную дату или документ.
Параметры:
<Дата> - необязательный параметр. Выражение типа дата или значение типа документ или позиция документа. Этот параметр задает момент времени, на который требуется получить значение периодического реквизита. Значение по умолчанию: ТА - если используется компонента ''Оперативный учет'', Рабочая дата - если компонента ''Оперативный учет'' не используется.
Замечание:
Метод  можно использовать только для периодических реквизитов справочника и если для справочника еще не применялся метод ИспользоватьДату.
Записан
STALKER
Участник

ru
Offline Offline
Пол: Мужской
ыыыы


« Ответ #16 : 26-11-2009 13:11 » 

спасибо Kivals,
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines