Имя: Пароль:
1C
1C 7.7
v7: Как с помощью справочника сотр получить значение свойства реквизита
0 ЮлияКорж
 
29.02.12
10:08
Справочник Сотрудник.ДокументОкончания как мне получить например значение реквизита причина увольнения, чтобы не писать док.ВыбратьДокументы()док.ПолучитьДокумент()>0
1 Mikeware
 
29.02.12
10:11
Хроники Амбера....
2 НЕА123
 
29.02.12
10:13
Весна.
3 ДенисЧ
 
29.02.12
10:17
Периодический...
4 Эльниньо
 
29.02.12
10:35
Итак:

Справочник Сотрудник.ДокументОкончания.ХроникиАмбера.Весна.Периодический

Делов то.
5 miki
 
29.02.12
10:37
вариант:
Справочник Сотрудник.ДокументОкончания.ХроникиАмбера.Получить(Весна)
6 ЮлияКорж
 
29.02.12
10:46
В моем случае как?
Сотр.ДокументОкончания.
7 NemeL
 
29.02.12
10:50
(6)помоему неочень понятно что конкретно надо сделать
8 ЮлияКорж
 
29.02.12
10:52
Надо получить через справочник Сотр значение реквизита документа увольнения "ПричинаУвольнения " можно ли чтобы не открывать выборку по документу
9 Рэйв
 
29.02.12
10:55
(8)Понятие оператора "точка" объяснить или не надо?
10 ЮлияКорж
 
29.02.12
10:59
Не надо,я знаю
11 Mikeware
 
29.02.12
11:00
(6) может, программиста позовете?
12 ЮлияКорж
 
29.02.12
11:09
Не надо я справлюсь
13 Evpatiy
 
29.02.12
11:13
"Интересы: web программирование ASP.Net"
гыыыы
14 ЮлияКорж
 
29.02.12
11:17
Гы гы кай,чего я писала интернет-магазин на с#
А вообще я написала вопрос не для того что бы обсуждать свои знания в программировании и для предприятия своего с работой я справляюсь в полной мере и в поставленные сроки, а сейчас дорабатываю восьмерку ЗУП по своё предприятия
15 aka AMIGO
 
29.02.12
11:17
а что удивительного? представь, ей сказал шеф: "программистка? - вот и займись программированием в 1с.."
отвертишься? :)
16 aka AMIGO
 
29.02.12
11:18
(14)так у тебя вопрос по 8-ке? а почему в сабже 7 ?
17 Kreont
 
29.02.12
11:19
18 ЮлияКорж
 
29.02.12
11:20
Моя проблема я не могу корректно поставить вопрос и без тебя знаю
19 Evpatiy
 
29.02.12
11:21
правильно, так их, хамов, матом, матом, да по матери, тогда точно подскажут :D
20 aka AMIGO
 
29.02.12
11:22
(18)а у вас в мариуполе не говорят "вопрос по 7 и 8 - это две большие разницы"?
21 Evpatiy
 
29.02.12
11:23
Ты же красивый девушка, зачем тебе этот 1С-шмадинес? Скушай лучше персик
22 aka AMIGO
 
29.02.12
11:23
(19)я не хамил. в (16) вполне законный вопрос.
ТС хочет грубить - да ради бога!..
23 aka AMIGO
 
29.02.12
11:23
+22 мог-бы подправить, а сейчас мне - до лампочки.
24 Рэйв
 
29.02.12
11:23
(18)У тебя есть ссылка на документ.Через точку от нее, как и от любой ссылки, можно взять любой реквизит. Странно как ты вообще программируешь на 1С, не говоря уж про все остальное...
25 zak555
 
29.02.12
11:24
(14) покажи магаз
26 ЮлияКорж
 
29.02.12
11:30
Вообще будем проще вот мой код я бы хотела поставить условия выдавать количество уволенных сотрудников в разрезе возрастов у которых причина увольнения <> "В связи со смертью" и там ещё несколько причин Со справочника сотр я хотела  бы обратиться к докуувол.причинаУвольнения, а я не могу выбивает исключение открывать выборку по доку глупо, я хотела услышать оптимальный вариант как  
Функция  ОпределениеЛет(ДатаР,ДатаА)
   ГодР = ДатаГод(ДатаР);
   МесР = ДатаМесяц(ДатаР);
   ЧслР = ДатаЧисло(ДатаР);
   ГодА = ДатаГод(ДатаА);
   МесА = ДатаМесяц(ДатаА);
   ЧслА = ДатаЧисло(ДатаА);
   Лет =  Цел(((ГодА-ГодР)*12+МесА-МесР)/12);
   Возврат Лет;
КонецФункции

Процедура Выполнить()
Перем Рез,НачалоТекущегоПериода, КонецТекущегоПериода,ДатаР,ДатаА,Год,пр;
   НачалоТекущегоПериода = Дата1;
   КонецТекущегоПериода = Дата2 + 1;
   Год=ДатаГод(Дата2);
   таб=СоздатьОбъект("Таблица");
   таб.ИсходнаяТаблица("Возраст");
   ДокОкон=СоздатьОбъект("Документ.ПриказОбУвольнении");
   Сотр=СоздатьОбъект("Справочник.Сотрудники");
   Сотр.ВыбратьЭлементы();
   кол_20=0;
   кол_2130=0;
   кол_3140=0;
   кол_4150=0;
   кол_51=0;
   Пока Сотр.ПолучитьЭлемент()>0 Цикл
       ДатаР=Сотр.ТекущийЭлемент().ФизическоеЛицо.ДатаРождения;
       ДатаА=Сотр.ТекущийЭлемент().ДатаОкончанияДействия;    
   ДокОкон.ВыбратьДокументы();
       Пока  ДокОкон.ПолучитьДокумент()>0 Цикл
   //ДокОкон.ПричинаУвольнения
               Если ПустоеЗначение(ДатаА)=0 Тогда
                   Если((ДатаА>=НачалоТекущегоПериода) И (ДатаА<КонецТекущегоПериода)) Тогда    
                   Рез=ОпределениеЛет(ДатаР,ДатаА);
                   Если (Рез<1) Тогда
                       Рез=Рез*(-1);
                   КонецЕсли;
                   Если  (Рез<=20) Тогда
                       кол_20=кол_20+1;
                   КонецЕсли;
                   Если (Рез>=21) и (Рез<=30) Тогда
                       кол_2130=кол_2130+1;    
                   КонецЕсли;
                   Если (Рез>=31) и (Рез<=40) Тогда
                       кол_3140=кол_3140+1;    
                   КонецЕсли;
                   Если (Рез>=41) и (Рез<=50) Тогда
                       кол_4150=кол_4150+1;
                   КонецЕсли;
                   ЕСЛИ (Рез>=51) Тогда
                       кол_51=кол_51+1;    
                   //КонецЕсли;
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;
   Итог=кол_20+кол_2130+кол_3140+кол_4150+кол_51;
   таб.ВывестиСекцию("Шапка");
   таб.ВывестиСекцию("СекцияДо20");
   таб.ВывестиСекцию("Секция_2130");
   таб.ВывестиСекцию("Секция_3140");
   таб.ВывестиСекцию("Секция_4150");
   таб.ВывестиСекцию("Секция_51");
   таб.ВывестиСекцию("Итог");
   Таб.ПараметрыСтраницы(1,,,0,0,0,0,,,1,,);
   Таб.Опции(0,0,1,0);
   Таб.Защита(Константа.ФлагЗащитыТаблиц);
   таб.Показать("Таблица1");
   таб.ТолькоПросмотр(1);
КонецПроцедуры
27 Evpatiy
 
29.02.12
11:33
(26) Запросом
28 Рэйв
 
29.02.12
11:33
Пока Сотр.ПолучитьЭлемент()>0 Цикл
      Сообщить(Сотр.ДокументОкончания.ПричинаУвольнения);
....
29 Ork
 
29.02.12
11:35
(28) Будет ошибка если сотрудник не увольнялся.
ЗЫ. Это я так ... к слову. (что б не сказать выпендриваюсь).
30 ЮлияКорж
 
29.02.12
11:35
Фигушки пройденный этап не получается поле объекта не обнаружена
31 Рэйв
 
29.02.12
11:36
(29)(30)  блин:-)
Ну неужели сложно

Если ПустоеЗначение(Сотр.ДокументОкончания)=0 Тогда
  Сообщить(Сотр.ДокументОкончания.ПричинаУвольнения);
КонецЕсли;
32 Рэйв
 
29.02.12
11:37
А если сразу хочешь выбрать только тех кто уволен- то юзай запрос
33 ЮлияКорж
 
29.02.12
11:39
{D:\ОБРАБОТКИРАБОЧИЕ\111.ERT(32)}: Значение не представляет агрегатный объект (ПричинаУвольнения)
34 Рэйв
 
29.02.12
11:40
(33)Если у тебя может быть несколько видов документов в документе основании то проверяй еще на вид и бери только в тех где есть такой реквизит
35 Рэйв
 
29.02.12
11:41
*в документе окончании
36 ЮлияКорж
 
29.02.12
11:53
Рэйв ты прав все работает
37 ЮлияКорж
 
29.02.12
11:53
Спасибо!!!