Имя: Пароль:
1C
1С v8
УФ. информация в надписи. с помощью запроса
0 mi4asib
 
14.03.12
08:07
имеет такой запрос :

Процедура СправочникСписокПриАктивизацииСтроки(Элемент)
   
           Запрос = Новый Запрос;
           Запрос.УстановитьПараметр("Оборудование", Элемент.ТекущиеДанные.ССылка);
           Если Дата Тогда
               ДатаЗапроса = НаДату;
           Иначе
               ДатаЗапроса = ТекущаяДата();
           КонецЕсли;
           Запрос.УстановитьПараметр("Дата",ДатаЗапроса);
           Запрос.Текст =
           "ВЫБРАТЬ
           |    ОборудованиеОстатки.МОЛ,
           |    ОборудованиеОстатки.Подразделение,
           |    ОборудованиеОстатки.Организация
           |ИЗ
           |    РегистрНакопления.Оборудование.Остатки(&Дата, ) КАК ОборудованиеОстатки
           |ГДЕ
           |    ОборудованиеОстатки.Оборудование = &Оборудование";
           
           ЗапросОб = Запрос.Выполнить().Выгрузить();
           Если ЗапросОб.Количество() > 0 Тогда
               ЭтаФорма.МОЛ = ЗапросОб[0].МОЛ;
               ЭлементыФормы.МОЛ.Заголовок = "МОЛ:"+ЗапросОб[0].МОЛ;

           Иначе
               Сообщить("Не достаточно остатка оборудования.");    
           КонецЕсли;    
           
           Если ЗапросОб.Количество() > 0 Тогда
               ЭтаФорма.Организация = ЗапросОб[0].Организация;
               ЭлементыФормы.Организация.Заголовок = "Организация:"+ЗапросОб[0].Организация;
           КонецЕсли;    
           

       КонецПроцедуры


он выводит под формой мнф о "МОЛ:"
тут же нужно вывести инф по Организации и Подразделении

Это будут вложеные запросы ?
1 Wobland
 
14.03.12
08:09
(0) нет
2 Wobland
 
14.03.12
08:09
думай, голова, как ты "МОЛ: "+ЧтоТо получил
3 mi4asib
 
14.03.12
08:10
Если ЗапросОб.Количество() > 0 Тогда
               ЭтаФорма.Организация = ЗапросОб[0].Организация;
               ЭлементыФормы.Организация.Заголовок = "Организация:"+ЗапросОб[0].Организация;
           КонецЕсли;

таким макаром не получилось пишет : поле Объекта не обнаружено:
4 Капитан О
 
14.03.12
08:11
(3) знаешь, что это такое - когда поле Объекта не обнаружено?
5 Капитан О
 
14.03.12
08:12
+(4) причём в результате запроса я его вижу
6 cw014
 
14.03.12
08:17
(3) Поле какого объекта не обнаружено? Может у тебя в элементах нету поля "Организация"
7 cw014
 
14.03.12
08:17
(3) Тем более откуда у тебя "ЭлементыФормы" если это УФ?
8 mi4asib
 
14.03.12
08:17
Если ЗапросОб.Количество() > 0 Тогда
               ЭтаФорма.МОЛ = ЗапросОб[0].МОЛ;
               ЭлементыФормы.МОЛ.Заголовок = "МОЛ:"+ЗапросОб[0].МОЛ;
               ЭлементыФормы.Организация.Заголовок = "Организация:"+ЗапросОб[0].Организация;
           Иначе
               Сообщить("Не достаточно остатка оборудования.");    

Спасибо Кэп ;) вот так должно получится
9 ilpar
 
14.03.12
08:21
(8)
должно-должно... но не обязано =)
10 Wobland
 
14.03.12
08:22
(8) не очень отличается от (3)
11 cw014
 
14.03.12
08:22
И все таки я не понимаю, откуда в УФ - "ЭлементыФормы"
12 Wobland
 
14.03.12
08:23
(8) если пишешь "недостаточно" через пробел, пиши полностью: "не очень достаточно"
13 ilpar
 
14.03.12
08:23
(11)
да пофиг откуда, он же на курсах отучился
14 Wobland
 
14.03.12
08:23
(11) а ты уверен насчёт УФ? ;)
15 cw014
 
14.03.12
08:23
К тому же если у тя на форме МОЛ и ОРГАНИЗАЦИЯ - реквизиты, разве нельзя сделать поле ввода с типом "Надпись" и просто заполнять эти реквизиты через ЗаполнитьЗначенияСвойств?
16 cw014
 
14.03.12
08:23
И при этом не трогать форму вооще
17 Wobland
 
14.03.12
08:24
(15) аккуратней, он ещё молод, разрыв мозга может случиться
18 cw014
 
14.03.12
08:25
(17) Если разрыв мозга - тогда не в программеры идти надо было
19 mkanaev
 
14.03.12
08:26
Процедура СправочникСписокПриАктивизацииСтроки(Элемент)

-Это же на клиенте выполняется, как там вообще запрос работает!!!
20 Wobland
 
14.03.12
08:26
(18) кстати, коллеги! давно ли эти курсы появились? наплыва ждать или уже был бы?
21 cw014
 
14.03.12
08:26
Судя по всему это точно не УФ
22 Wobland
 
14.03.12
08:27
(19) ну не знает человек разницу между УФ и обычными
23 ilpar
 
14.03.12
08:27
(20)
был, есть и будет есть ...
Вся надежда на 1С, чтоб конкретно все наизменяли в типовых - не для дураков
24 cw014
 
14.03.12
08:28
А на какой строке ругается то?
25 Wobland
 
14.03.12
08:28
(24) последние известия от него - "должно получится"
26 cw014
 
14.03.12
08:29
(25) Ага, как в гугле - Мне повезет!!!
27 mi4asib
 
14.03.12
08:29
спасибо всем за критику, да молод.
28 cw014
 
14.03.12
08:30
(27) Скажи хоть на какой строке ругается? И зачем тебе реквизит формы МОЛ?
29 mi4asib
 
14.03.12
08:30
(25) мне повезло )))) заработало всё
30 Wobland
 
14.03.12
08:30
(29) ты ещё вернёшься ;)
31 cw014
 
14.03.12
08:30
(29) Можешь не говорить, я уже догадался на какой
32 ilpar
 
14.03.12
08:31
(29) форма на 8.2 - это не обязательно УФ форма
И нехрен народ путать
33 mi4asib
 
14.03.12
08:33
(32) буду внимательней при постороении вопроса, а если реально то неожидал такой отзывчивости :)

да поругать можете, я это воспринимаю как полезную критику.
34 Wobland
 
14.03.12
08:34
(33) в прошлой ветке мне ответь для собственного развития
35 cw014
 
14.03.12
08:34
ЭЭээээээххххх, ненавижу такой код. Как говорится, кто так кодит? Кто так кодит?...

Мой вариант:

Процедура СправочникСписокПриАктивизацииСтроки(Элемент)
   
   ЗапросОб = РегистрыНакопления.Оборудование.Остатки(?(Дата, НаДату, ТекущаяДата()), Новый Структура("Оборудование",Элемент.ТекущиеДанные.ССылка));

   Если ЗапросОб.Количество() > 0 Тогда
       ЭлементыФормы.МОЛ.Заголовок = "МОЛ:"+ЗапросОб[0].МОЛ;
       ЭлементыФормы.Организация.Заголовок = "Организация:"+ЗапросОб[0].Организация;
   Иначе
       Сообщить("Не достаточно остатка оборудования.");    
   КонецЕсли;

КонецПроцедуры
36 ShoGUN
 
14.03.12
08:44
(35) Запрос универсальнее.
37 mi4asib
 
14.03.12
08:45
хорошо конечно. мне пока моих поделок хватает ))))))))
я стажируюсь второй день, толком даже конф типовые  не прожмакал

спасибо ещё раз всем за оперативность да и просто за помощь :)

реально ВОЛШЕБНЫЙ форум :)
38 cw014
 
14.03.12
08:45
(36) Ну да, создаем объект на клиенте, потом посылаем ему запрос, потом выполняем (вызов сервера), снова на клиент результат, из которого на клиенте же выгрузка в таблицу, и потом уже ее обработка.

А вот метод, изначально отправляющийся на сервер - не, не канает, ибо слишком быстро, 1С должна работать медленнее
39 mi4asib
 
14.03.12
08:47
закладку поставлю пригодится думаю
40 ShoGUN
 
14.03.12
08:50
(38) Из сказанного тобой следует только то, что собственно запрос с обработкой результата следует делать на сервере, оформив это в отдельную процедуру. С этим согласен. Но запрос удобнее в смысле изменения и поддержки. В твоём варианте, если нужно наложить более сложное условие - придётся всё переписывать в запрос.
41 cw014
 
14.03.12
08:51
(40) ну вот теперь хотя бы какая то конкретная критика. Но впринципе задача то тривиальная, вот и код тривиальный
42 mi4asib
 
14.03.12
09:12
http://smages.com/images/1ece.jpg

форма справочника. при выборе даты и поставление галочки. нужно что бы с лева показывалась инфа по оборудованию на ТекДата
43 cw014
 
14.03.12
09:15
(42) Это определенно не УФ
Имена реквизитов на форме с заголовками "Организация", "Подразделение", "Мол"
44 mi4asib
 
14.03.12
09:23
уже победил это. там в скрине с флагом и датой
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший