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

Получить реквизит объекта

Ø [Волшебник, 15.12.20 - 10:05]
Получить реквизит объекта
Я
   Vulpes
 
14.12.20 - 12:49
Есть два справочника. Манифест и Контрагент. В Контрагенте есть реквизит, как мне получить доступ к реквизиту Контрагента, что бы потом проверить его состояние через условие?.
   Vulpes
 
1 - 14.12.20 - 12:50
Пытаюсь получить доступ. Из модуля Манифеста к реквизиту справочника Котнтрагент
   Волшебник
 
2 - 14.12.20 - 12:51
Контрагент.Реквизит
   hhhh
 
3 - 14.12.20 - 12:51
(0) наверно через точку. типа

Контрагент.ИмяРеквизита
   mikecool
 
4 - 14.12.20 - 12:51
смотреть в сторону типовой функции типа ОбщегоНазначения.ПолучитьЗначенияРеквизитов
   Vulpes
 
5 - 14.12.20 - 12:52
Форма = Справочники.Контрагенты.ПолучитьФорму("саФормаЭлемента");
     Форма_Реквизит = Справочники.Контрагенты.НайтиПоРеквизиту("саСкрыватьГородВтрекинге", Справочники.Контрагенты.НайтиПоНаименованию("саСкрыватьГородВтрекинге"));
     Реквизит = Форма_Реквизит.саСкрыватьГородВтрекинге;
   Vulpes
 
6 - 14.12.20 - 12:53
Вот так попробовал но не работает
   mikecool
 
7 - 14.12.20 - 12:53
(5) эк тебя торкнуло...
   mikecool
 
8 - 14.12.20 - 12:53
(6) ты с Сдиез пересел на 1с?
   Волшебник
 
9 - 14.12.20 - 12:54
(6) Надо стараться
   Vulpes
 
10 - 14.12.20 - 12:54
(8) с C#
   mikecool
 
11 - 14.12.20 - 12:55
(10) заметно, мне тоже было не понятно по началу - как в диезе к значениям реквизитов обращаться
у тебя контекст что в момент, когда ты хочешь получить реквизит?
   Vulpes
 
12 - 14.12.20 - 12:56
(2)Можно по точнее. Наверно надо присвоить какой то переменной это дело или как?
   Волшебник
 
13 - 14.12.20 - 12:56
(12) Наверняка
   Vulpes
 
14 - 14.12.20 - 12:57
(11) Я просто вдуплить не могу, как добраться до реквизита справочника из модуля другого справочника
   mikecool
 
15 - 14.12.20 - 12:58
(14) в  модуля другого справочника нужно знать ссылку на другой справочник
дальше - как уже описано было
   Волшебник
 
16 - 14.12.20 - 12:58
(14) Забудь про модули. Мысли типами.
   Vulpes
 
17 - 14.12.20 - 13:00
(15) Можно пример кода, как это выглядит?
   Волшебник
 
18 - 14.12.20 - 13:03
(17) Фрагмент кода в (2)
   Глупый ответ
 
19 - 14.12.20 - 13:09
(17) В модуле контрагента, 
Реквизит = Справочники.Манифест.НайтиПоКоду("1");
Записать();
   Волшебник
 
20 - 14.12.20 - 13:10
(19) Надо проверять реквизит, а не менять
   Глупый ответ
 
21 - 14.12.20 - 13:11
зачем тебе 1С? сиди на c# или в джаву иди
   Волшебник
 
22 - 14.12.20 - 13:13
(21) Наверное, кушать хочется
   Vulpes
 
23 - 14.12.20 - 13:14
(21) Потерял интерес
   Vulpes
 
24 - 14.12.20 - 13:14
(22) ДА
   Глупый ответ
 
25 - 14.12.20 - 13:14
(20) ааа.
МанифестСсылка = Справочник.Манифест.НайтиПоКоду("1");
Если МанифестСсылка.КакойтоРеквизит.Пустая() Тогда
//////тут действия

Иначе
///// тут действие

КонецЕсли;

или если манифест это реквизит контрагента. "Манифест" - кто такое тупое название придумал.
Если Манифест.Пустая() Тогда
//////тут действия

Иначе
///// тут действие

КонецЕсли;
   Глупый ответ
 
26 - 14.12.20 - 13:17
или 
Если ЗначениеЗаполнено(Манифест) Тогда
иначе
КонецЕсли;
   Глупый ответ
 
27 - 14.12.20 - 13:17
(23) если тебе в джаве не интересно, в 1С ты вообще повесишься. Зачем тебе этот суицид? Иди стоматологом или строителем или в продажи.
   Vulpes
 
28 - 14.12.20 - 13:18
(25) Манифест это справочник и Котнрагент это тоже справочник. Я пытаюсь добраться из модуля справочника Манифест к реквизиту справочника Контрагент
   Vulpes
 
29 - 14.12.20 - 13:19
(27) Меня что то зацепило, я хочу сидеть с решать проблемы с проводками, счетами, ордерами и т.д и т.п
   Глупый ответ
 
30 - 14.12.20 - 13:22
(28) А у манифеста реквизит контрагент есть? У меня от тебя уже бошка болит. (29) Все дело в том, что ты не решаешь проблемы, ты их создаешь. В 1С надо много учится самостоятельно.  По крайней мере. что такое объект и что такое ссылка и как с ними работать. Надо знать. Не 1С не твое.
В общем пиши
В модуле манифеста
КонтрагентСсылка = Справочники.Контрагенты.НайтиПоКоду("ТвойКод");
Если ЗначениеЗаполено(КонтрагентСсылка.ТвойРеквизит) Тогда
Иначе
КонецЕсли;
 
 
   Глупый ответ
 
31 - 14.12.20 - 13:27
или
Запрос = Новый Запрос;
Запрос.Текст = "Выбрать Контрагенты.ТвойРеквизит КАК ТвойРеквизит ИЗ Справочник. Контрагенты КАК Контрагенты
ГДЕ Контрагенты.ТвойРеквизит = &ТвоеУсловие"
Выборка = Запрос.Выполнить.Выбрать();
КонтрагентТвойРеквизит = Выборка[0].ТвойРеквизит;
   Глупый ответ
 
32 - 14.12.20 - 13:31
В общем вот книжка хорошая https://v8.1c.ru/metod/books/42714.htm , прочитай потом приходи.
   Волшебник
 
33 - 14.12.20 - 15:00
(32) Это слишком просто. Вот правильная книжка https://v8.1c.ru/metod/books/42696.htm
   Глупый ответ
 
34 - 14.12.20 - 15:52
(33) ну это справочник, а не учебник. У меня такая в 2006 году была, расскрутил предприятие на покупку, а сам открыл пару раз и больше туда не заглядывал. В общем при наличии интернета абсолютно бесполезная книга.
   Волшебник
 
35 - 14.12.20 - 15:54
(34) Программисты учатся по справочникам
   Vulpes
 
36 - 15.12.20 - 08:52
(30) нет не правильно
   Vulpes
 
37 - 15.12.20 - 08:53
(31) И так тоже не правильно, весь код в 3 строчки
   Vulpes
 
38 - 15.12.20 - 08:54
(35) Спасибо, это дельный совет
   Глупый ответ
 
39 - 15.12.20 - 09:15
(37) что конкретно не правильно?
   Глупый ответ
 
40 - 15.12.20 - 09:16
Т.е ты хочешь сказать, что получить запросом элемент справочника нельзя? Или нельзя сделать неявный запрос к базе данных через точку? Так, пока (33) не возвращайся.
   Глупый ответ
 
41 - 15.12.20 - 09:16
*пока (33) не прочитаешь.
   ADirks
 
42 - 15.12.20 - 09:20
(39) рискну предположить, что кушать не прибавляется
   Vulpes
 
43 - 15.12.20 - 09:31
(40) Можно без проблем, но проблему которую решал я, пишется в 3 строчки и больше ни чего не надо.
   Vulpes
 
44 - 15.12.20 - 09:32
(42) Кушать овер до х....., куда еще т прибавлять?
   Глупый ответ
 
45 - 15.12.20 - 09:40
(43) Откуда я знаю какую ты проблему там пишешь? Да ты мало того, что хам еще и склерозник? ты в (0) пишешь " Контрагенте есть реквизит, как мне получить доступ к реквизиту Контрагента, что бы потом проверить его состояние через условие?."

я тебе ответил. Получить ссылку на контрагента двумя способами.
1. Сделать не явный запрос через точку через менеджер справочника Контрагент = Справочник.Контрагенты.НайтиПоКоду("123"); Если Контрагент.Реквизит = ТвоеУсловие Тогда КонецЕсли.
2. Сделать явный запрос к базе данных "Выбрать Контрагент Как Контрагент Из Справочник.Контрагенты Где Твоесловие"
   Глупый ответ
 
46 - 15.12.20 - 09:41
После получения ссылки на контрагента, обратится к реквизиту через точку или сразу получить реквизит запросом.
   МимохожийОднако
 
47 - 15.12.20 - 09:44
(43) Не стесняйся. Снимай покровы. Показывай код, который родил.
   Vulpes
 
48 - 15.12.20 - 10:00
(45) Люблю когда пахнет подгоревшим пуклом)))Не кипятись, все в порядке


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