Имя: Пароль:
1C
1С v8
8.1 Новый документ записывается, даже если проведение не выполнилось.
,
0 DIvanmgn
 
26.03.14
15:34
Postgre SQL PostgreSQL 9.0.3-3.1C(x64)
8.1.15.14
УТ 10.3.5.1 сильно переписанная
замечено такое поведение. Если создаем новый документ "Заказ покупателя" и пытаемся его провести, и если в процессе проведения возникает ошибка то
поведение в файловом варианте:
документ не записывается, пока специально не запишешь либо не исправишь ошибку для проведения
поведение в клиент-серверном варианте:
документ записывается (это видно только в списке документов и то после "перечитки" списка), пометка проведен ставится, движений нет, форма документа выглядит как у незаписанного документа.
Если повторно попытаться провести документ то выдается сообщение что номер не уникален.
Проявляется только на одном документе.
1 Maxus43
 
26.03.14
15:39
ТИИ чего говорит?
Поведение странное, или ИБ начинает сбоить, или в коде очемелые ручки навертели такое поведение
2 DIvanmgn
 
26.03.14
15:41
(1) ТИИ не спрашивал. Думал дело в самой платформе или в Postgre. Сегодня спрошу ночью.
3 Maxus43
 
26.03.14
15:45
(2) больше посоветовать даже нечего... с постгри не работал, ситуация - чудеса
4 DIvanmgn
 
27.03.14
08:50
(3) база объемная 60 Гб, за ночь ТИИ не успела отработать
5 Chai Nic
 
27.03.14
08:52
Тоже случалось подобное с постгресом в ЗУПе
6 DIvanmgn
 
28.03.14
09:32
Плюнул решил развернуть postgre на другом компе. На выходных посмотрим.
7 divanmgn1
 
28.03.14
20:47
развернул - то же самое
8 Chai Nic
 
28.03.14
21:00
(7) А на более новую версию платформы перейти не пробовали?
9 divanmgn1
 
28.03.14
21:11
(8) если только ради решения конкретно этой проблемы. Потестирую на выходных если успею
10 divanmgn1
 
28.03.14
21:13
просто боюсь что новые проблемы появятся. Правда которые больше поддаются решению, чем эта. Боюсь заказчик не оценит адекватно моих приседаний.
11 mikecool
 
28.03.14
21:21
сидел на постгри долго и плотно - такого не видел, склоняюсь к очумелым рукам
12 divanmgn1
 
29.03.14
09:35
(11) и правда очумелые ручки. Правда без специфики платформы тоже не обошлось. Дело было в следующей процедуре, которая вызывалась перед записью в модуле документа Заказ покупателя:

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

Теперь не знаю что делать. Ведь признак нужен.
13 Мимохожий Однако
 
29.03.14
09:56
Оставь в коде только
ПодразделениеРозница = Справочники.Подразделения.НайтиПоКоду("00025");
Если ПодразделениеРозница = Справочники.Подразделения.ПустаяСсылка() Тогда
Источник.Розница = ИСТИНА;
Иначе
Источник.Розница = ЛОЖЬ;
КонецЕсли;
...
Хотя я бы эту процедуру закомментировал напрочь