Имя: Пароль:
1C
1С v8
Виснет 1с при создании документа.
0 atis30
 
17.10.13
15:19
Управляемые формы.

Документ.
Обработки проведения нет. Есть перед записью, там вычисляется сумма документа.

При создании нового документа и нажатии "провести и закрыть" иногда зависает 1с, намертво.  
Проследить какую-то закономерность не удается.

ТИИ делать долго, делал выгрузку загрузку базы. Не помогло.

В чем может быть причина?
1 zak555
 
17.10.13
15:19
> Есть перед записью, там вычисляется сумма документа.

смотря как
2 Кир Пластелинин
 
17.10.13
15:21
код в студию
3 Нуф-Нуф
 
17.10.13
15:25
навтыкай запись журнала регистрации
4 atis30
 
17.10.13
15:28
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
  СуммаДокумента = ТМЦ.Итог("Сумма");

  Если РежимЗаписи <> РежимЗаписиДокумента.ОтменаПроведения Тогда
    // код
  КонецЕсли;

  Если (ЭтотОбъект.ПометкаУдаления) И (НЕ Ссылка.ПометкаУдаления) Тогда
    // код
  КонецЕсли;

КонецПроцедуры
5 atis30
 
17.10.13
15:29
упс. только сейчас осознал что там <>

РежимЗаписи <> РежимЗаписиДокумента.ОтменаПроведения
6 atis30
 
17.10.13
15:29
буду изучать дальше
7 atis30
 
17.10.13
15:34
хотя там ничего криминального, проверка есть-ли еще документы с такими реквизитами.

ТекстЗапроса = "ВЫБРАТЬ
                       |    Заказ
                       |ИЗ
                       |    Документ.Заказ КАК Заказ
                       |ГДЕ
                       |    Заказ.Дата = &ДатаОтгрузки
                       |    И Заказ.Контрагент = &Контрагент
                       |    И Заказ.Ссылка <> &Ссылка"
        ;
        //              
        Запрос = Новый Запрос(ТекстЗапроса);
8 Нуф-Нуф
 
17.10.13
15:36
количество заказов в базе какое?
9 atis30
 
17.10.13
15:46
(8) 200 000

Запрос

"ВЫБРАТЬ
    |    Заказ
    |ИЗ
    |    Документ.Заказ КАК Заказ"

меньше чем за секунду отрабатывает.
10 Mafoni
 
17.10.13
15:51
Отладчик уже предлагали?
11 atis30
 
17.10.13
16:07
(10) самое западло в том, что если запустить в режиме отладки то еще ни разу не зависало.
12 zak555
 
17.10.13
16:10
(7) РС лучше сделай
13 hhhh
 
17.10.13
16:16
(11) имхо вот это должно нереально тормозить

                   |    Заказ
                       |ИЗ
                       |    Документ.Заказ КАК Заказ


сделай

ВЫБРАТЬ
                       |    Заказ
                       |ИЗ
                       |    Документ.Заказ КАК Заказ2
                       |ГДЕ
                       |    Заказ2.Дата = &ДатаОтгрузки
                       |    И Заказ2.Контрагент = &Контрагент
                       |    И Заказ2.Ссылка <> &Ссылка
14 KishMish
 
17.10.13
16:18
в процедуре ПередЗаписью
у тебя нет Записать()?
15 atis30
 
17.10.13
16:22
(14) нету.

(13) когда глюков нет, то оно очень оперативно проводится.
или лучше сделать таки РС?
16 hhhh
 
17.10.13
16:25
(15) у тебе поле Заказ в документе Заказ. Это дерьмо.

Когда пишет Заказ.Дата = &ДатаОтгрузки, что она берет?
17 atis30
 
17.10.13
16:32
Сори, ошибся с копипастом, там Заказ.Ссылка на самом деле
18 vtolga
 
17.10.13
16:40
а в заказ.дата еще и время есть...
19 Кир Пластелинин
 
17.10.13
16:46
(13) а разве конструктор не ругнулся бы на неоднозначное поле? хотя кто отменяет ручное построение запросов