|
Прокомментируйте процедуру, что можно исправить, зависает 1с помогает ребут скл | ☑ | ||
---|---|---|---|---|
0
genesys
31.08.16
✎
10:32
|
Процедура КонтрольКоличестваДокументовВДень(Отказ)
Если Процедуры.Количество() ИЛИ НаправленияНазначенные.Количество() Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МЦ_ПриемКонтрагента.Ссылка |ИЗ | Документ.МЦ_ПриемКонтрагента КАК МЦ_ПриемКонтрагента |ГДЕ | МЦ_ПриемКонтрагента.Контрагент = &Контрагент | И МЦ_ПриемКонтрагента.ЯвляетсяНаправлением = &ЯвляетсяНаправлением | И МЦ_ПриемКонтрагента.Проведен | И НАЧАЛОПЕРИОДА(МЦ_ПриемКонтрагента.Дата, ДЕНЬ) = &ТекущийДень | И МЦ_ПриемКонтрагента.Организация = &Организация | И МЦ_ПриемКонтрагента.Ссылка <> &ТекущийДокумент"; Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка); Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("ТекущийДень", НачалоДня(?(ЗначениеЗаполнено(Дата), Дата, ТекущаяДата()))); Запрос.УстановитьПараметр("ЯвляетсяНаправлением", ЯвляетсяНаправлением); РезультатЗапроса = Запрос.Выполнить(); Отказ = НЕ РезультатЗапроса.Пустой(); Если Отказ Тогда Выборка = РезультатЗапроса.Выбрать(); Выборка.Следующий(); Предупреждение("Сегодня уже создан документ для пациента " + Символы.ПС + ОбщегоНазначения.СформироватьЗаголовокДокумента(Выборка.Ссылка)); КонецЕсли; КонецЕсли; КонецПроцедуры // КонтрольКоличестваДокументовВДень() |
|||
1
genesys
31.08.16
✎
10:32
|
зависает не всегда
|
|||
2
Cyberhawk
31.08.16
✎
10:34
|
Сколько платят за решение вопроса?
|
|||
3
genesys
31.08.16
✎
10:35
|
мне не нужно решать вопрос
просто мнение ваше интересно, мб в процедуре дело |
|||
4
Неверный Параметр И
31.08.16
✎
10:39
|
(3) Диагностика бесплатно при условии ремонта в нашем СЦ!
Сегодня создан документ для пациента [x] |
|||
5
Михаил Козлов
31.08.16
✎
10:40
|
(3) Потестите запрос в консоли запросов.
|
|||
6
aleks_default
31.08.16
✎
10:41
|
Конечно зависает пока предупреждение не закроешь, делай сообщить()
|
|||
7
Fragster
гуру
31.08.16
✎
10:42
|
если это в модуле объекта перед/при записи или в обработке проведения или в форме в при записи - то неудивительно.
|
|||
8
Господин ПЖ
31.08.16
✎
10:44
|
>Предупреждение
классика жанра... |
|||
9
genesys
31.08.16
✎
10:45
|
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине: {Документ.МЦ_ПриемКонтрагента.МодульОбъекта(741)}: Ошибка при вызове метода контекста (Выполнить) по причине: Ошибка выполнения запроса по причине: Конфликт блокировок при выполнении транзакции: Microsoft SQL Server Native Client 11.0: Превышено время ожидания запроса на блокировку. HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=33, Severity=10, native=1222, line=1 |
|||
10
Господин ПЖ
31.08.16
✎
10:47
|
(9) читать (7) до просветления
|
|||
11
genesys
31.08.16
✎
10:48
|
(10) Ну я эту процедуру не писал, стаж у меня 2 недели, я учусь
и (7) мне мало о чем говорит |
|||
12
Господин ПЖ
31.08.16
✎
10:51
|
(11) ты через предупреждение() ставишь раком всю систему - блокируешь таблицу (или диапазон в таблице). читать про блокировки на SQL
|
|||
13
Неверный Параметр И
31.08.16
✎
10:52
|
(11) А от нас-то ты что хочешь? Процедуру мы посмотрели.
|
|||
14
genesys
31.08.16
✎
10:52
|
(12) Вместо предупреждение сделать сообщение ?
|
|||
15
Господин ПЖ
31.08.16
✎
10:52
|
(12) + меняй предупреждение() на сообщить()
|
|||
16
Неверный Параметр И
31.08.16
✎
10:53
|
(11) Или это какой-то хитрый франч отлаживает юнглинга такой постановкой задач?
|
|||
17
hitodom
31.08.16
✎
10:56
|
вместо
НАЧАЛОПЕРИОДА(МЦ_ПриемКонтрагента.Дата, ДЕНЬ) = &ТекущийДень лучше МЦ_ПриемКонтрагента.Дата МЕЖДУ &НачалоДня И &КонецДня |
|||
18
genesys
31.08.16
✎
10:58
|
(16) да не
|
|||
19
genesys
31.08.16
✎
11:01
|
(15) но ошибка выходит на 741 строке, т.е. он до ПРедупрежждение() не доходит даже
|
|||
20
RomanYS
31.08.16
✎
11:04
|
(19) до предупреждения дошло у другого пользователя, а все остальные теперь ждут когда тот нажав "ОК" разблокирует таблицы.
|
|||
21
genesys
31.08.16
✎
11:05
|
(20) т.е. всё дело в том, что какой то пользователь не жмёт ОК?
|
|||
22
genesys
31.08.16
✎
11:06
|
740 Запрос.УстановитьПараметр("ЯвляетсяНаправлением", ЯвляетсяНаправлением);
741 742РезультатЗапроса = Запрос.Выполнить(); ошибка в 741 строке и она пустая |
|||
23
Pentosh
31.08.16
✎
11:07
|
(21) вам уже ответили на вопрос, разжевали, мб попробуете заменить на "сообщить()", а потом дальше вопросы кидать?
|
|||
24
Неверный Параметр И
31.08.16
✎
11:08
|
(23) Он не хочет решать вопрос - см (3) Ему надо наше мнение, и оно начинает портится
|
|||
25
zva
31.08.16
✎
11:09
|
раз "помогает ребут скл" можно вместо предупреждения сразу ребутить
|
|||
26
Неверный Параметр И
31.08.16
✎
11:11
|
(22) Ну так и зависает оно не всегда.
|
|||
27
Pentosh
31.08.16
✎
11:16
|
а ПоказатьПредупреждение(), блокирует таблицы?
в СП про это ничего не нашел. |
|||
28
RomanYS
31.08.16
✎
11:17
|
(27) блокирует не Предупреждение, а открытая транзакция, которая ждет ответа на предупреждение.
|
|||
29
Pentosh
31.08.16
✎
11:19
|
(28) понял.
а ПоказатьПредупреждение не ждет ответа, т.е. блокировки не будет? |
|||
30
bodri
31.08.16
✎
11:22
|
(27) и (29) Если использовать ПоказатьПредупреждение(), тогда после окончания транзакции вылезет куча окон, а оно надо? Используй Сообщить()
|
|||
31
genesys
31.08.16
✎
11:25
|
Спасибо, попробуем
|
|||
32
genesys
31.08.16
✎
11:29
|
Мне больше интересно было не решить эту проблему, а узнать причину
Я узнал, спасиб |
|||
33
genesys
31.08.16
✎
11:34
|
А подскажите, ЖР открывается через конфигуратор ?
|
|||
34
Неверный Параметр И
31.08.16
✎
11:37
|
(33) А попробовать - религия не позволяет?
И через него тоже. |
|||
35
genesys
31.08.16
✎
11:39
|
(34) ПРосто через 1с предприятие не получается
кофнигуратор грузится) |
|||
36
Неверный Параметр И
31.08.16
✎
11:43
|
(35) Сильно грузится?
|
|||
37
genesys
31.08.16
✎
11:44
|
(36) загружается, окей
|
|||
38
genesys
31.08.16
✎
12:11
|
||||
39
genesys
31.08.16
✎
12:14
|
Обновление конфы решает эту проблему точно ?
|
|||
40
Альбатрос
31.08.16
✎
12:21
|
(38) Это называется г*внокод
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |