Имя: Пароль:
1C
1С v8
Как найти документ и открыть
,
0 igoza
 
13.01.14
21:20
То что выдал мой больной мозг    

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    УтверждениеГрафикаРаботыПодразделения.Ссылка
        |ИЗ
        |    Документ.УтверждениеГрафикаРаботыПодразделения КАК УтверждениеГрафикаРаботыПодразделения
        |ГДЕ
        |    УтверждениеГрафикаРаботыПодразделения.МесяцЗаполнения = &МесяцЗаполнения
        |    И УтверждениеГрафикаРаботыПодразделения.Подразделение = &Подразделение";

    Запрос.УстановитьПараметр("МесяцЗаполнения", НачалоМесяца(ТекущаяДата()));
    Запрос.УстановитьПараметр("Подразделение", Ссылка);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Если ВыборкаДетальныеЗаписи.Количество() > 0 Тогда
        ВыборкаДетальныеЗаписи.Следующий();
        ДокументОтк = Документы.УтверждениеГрафикаРаботыПодразделения.НайтиПоНомеру(ВыборкаДетальныеЗаписи.Ссылка.Номер, НачалоМесяца(ТекущаяДата()));
        ДокументОтк.ПолучитьФорму("ФормаДокумента").Открыть();
    КонецЕсли;

но я то знаю что есть проще вариант, только вспомнить немогу( подскажите
1 Дукат
 
13.01.14
21:23
дата документа прям таки начало?
2 igoza
 
13.01.14
21:23
В запросе нахожу нужный документ! как-то проще же можно найти?
3 Дукат
 
13.01.14
21:24
и 00:00:00?
4 Дукат
 
13.01.14
21:24
а . понял. думал не находишь, сори
5 igoza
 
13.01.14
21:25
(1) это не дата документа, нужный реквизит и при сочетании &МесяцЗаполнения &Подразделение получается уникальный документ в единичном роде
6 igoza
 
13.01.14
21:26
(4) да всё это прекрасно работает но больно грамозко
7 wuff
 
13.01.14
21:26
открытьзначение() СП дорого
8 igoza
 
13.01.14
21:27
(7) да открыт, в поисках)
9 wuff
 
13.01.14
21:27
в (0) суперг0внокод
10 igoza
 
13.01.14
21:28
(9) покажи как нада) поучусь, серьёзно!
11 wuff
 
13.01.14
21:29
Ну во первых проверка пустого запроса.
Если Не РезультатЗапроса.Пустой() Тогда
12 wuff
 
13.01.14
21:31
И вместо возни с формами, в случае если нужна стандартная форма, то просто ОткрытьЗначение(ВыборкаДетальныеЗаписи.Ссылка)
13 wuff
 
13.01.14
21:31
И еще, А если в выборке два документа?
14 igoza
 
13.01.14
21:33
(13) &МесяцЗаполнения &Подразделение получается уникальный документ в единичном роде не получится создать 2 одинаковых
15 igoza
 
13.01.14
21:35
(13) спасибо за урок)
16 wuff
 
13.01.14
21:35
(14) жизнь такая непредсказуемая, а еще более действия пользователей...
17 wuff
 
13.01.14
21:35
(15) спасибо не булькает.
18 igoza
 
13.01.14
21:36
(17) буль буль)
19 catena
 
14.01.14
06:32
Если в выборке уже есть ссылка, зафигом искать документ еще раз? О_о
20 Wobland
 
14.01.14
07:08
(19) то запросом, а то по номеру. хоть что-то да срабоатет
21 Jonny_Khomich
 
14.01.14
07:08
(19) это создать видимость работы, мне букв в коде, значит человек работает.
22 Jonny_Khomich
 
14.01.14
07:12
(21) *много букв в коде
23 1dvd
 
14.01.14
07:14
Ссылка - на самом деле, это ссылка на справочник "Подразделения"

С уважением, КЭП
24 Wobland
 
14.01.14
07:18
(23) какой-то ты неправильный
ИЗ
        |    Документ.УтверждениеГрафикаРаботыПодразделения
25 1dvd
 
14.01.14
07:22
(24) это ты не правильный


    Запрос.УстановитьПараметр("Подразделение", Ссылка);
26 1dvd
 
14.01.14
07:24
хотя, да. Я неправильный КЭП.
А ТС расстрелять за поиск дока по номеру, имея ссылку на него
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший