Имя: Пароль:
1C
1С v8
Закрытие заказов покупателей.
0 НатальяАлекс
 
08.08.13
14:35
Всем добрый день! При проведении документа "Закрытие заказов покупателей" происходит проведение закрываемого заказа... и соответственно, проверка цен и даты запрета... Как это обойти? Бьюсь не первый день, не могу найти. Может, кто что подскажет? База не типовая...
1 Aleksey
 
08.08.13
14:36
у меня в БП всё хорошо
2 cw014
 
08.08.13
14:37
Это в какой такой конфе он вдруг заказы перепроводит? Он сам движения на себя должен вешать по закрытию заказов. А заказ не должен трогать
3 Фокусник
 
08.08.13
14:38
(0) "При проведении документа "Закрытие заказов покупателей" происходит проведение закрываемого заказа..."

ИМХО, смысл документа "Закрытие...." как раз в том, чтобы исходный документ не трогать. Напрашивается вопрос, зачем "происходит проведение закрываемого заказа..." ? :)
4 НатальяАлекс
 
08.08.13
14:39
(1) Ага, в БП...
(2) УТ 10.3
5 НатальяАлекс
 
08.08.13
14:41
(3) В том-то и прикол... Закрытие делает все движения, все ок - и начинается ОбработкаПроведения ЗаказаПокупателя....
6 Shurjk2
 
08.08.13
14:42
(0) Смотреть что меняли, проведение одного документа из другого, эта обычно не фишка типовых а следствие кривых доработок.
7 НатальяАлекс
 
08.08.13
14:44
Узнать что изменили очень сложно: база мегамонстр
8 Jonny_Khomich
 
08.08.13
14:50
(7) закрытие делает движения в регистре, а не в документе.
9 cw014
 
08.08.13
14:57
(8) Значит какая то кривая дописка
10 НатальяАлекс
 
08.08.13
14:59
(9) вполне может быть. В каком месте рыть?
11 Jonny_Khomich
 
08.08.13
14:59
(9) был как то у клиента, у них при открытие документа РТиУ в УТ 10.3 сразу стояло изменение документа и они постоянно проводили документы, а у кого прав не было, тот не мог распечатать повторно ТН.
12 НатальяАлекс
 
08.08.13
15:04
(11) О таком я в курсе - что-то с ОбновлениемОтображения.
Чем может вызываться ОбработкаПроведения СвязанногоДокумента?
13 Михаил Козлов
 
08.08.13
15:42
(10) Сравните с типовой конфигурацией.
14 НатальяАлекс
 
08.08.13
15:58
сейчас этим и занимаюсь, но это просто ОЧЕНЬ сложно!!!
15 pessok
 
08.08.13
16:06
(14) там все достаточно просто. надо проверить только процедуру ОбработкаПроведения() в документе закрытия. И искать нечто типа

Для Каждого Заказ Из ТекСтр.Заказы Цикл
Об = Заказ.ЗаказПокупателя.ПолучитьОбъект();
Об.Записать(РежимЗаписиДокумента.Проведение)

В общем случае все можно найти по строчке:

РежимЗаписиДокумента.Проведение в модуле объекта

Кстати, сам писал такой кривой код, который перезаписывает заказы, т.к. в случае отказа нужно был чистить реквизит в заказе. Виной тому изначально неправильная архитектура
16 НатальяАлекс
 
08.08.13
16:08
С первого взгляда - ничего подобного нет... Уже с лупой изучила.... Но посмотрю еще раз.
17 pessok
 
08.08.13
16:09
(16) это еще может быть засунуто в подписку на событие... а может какое-то оповещение выдаваться...
18 pessok
 
08.08.13
16:10
+(15) можно поискать по тексту Записать(

там буду записи в регистры, но среди них вполне может быть то, что ищешь
19 НатальяАлекс
 
08.08.13
16:25
Вооот, про подписку я уже думала - но их тут туча... Из типовой загрузила "ЗакрытиеЗаказовПокупателей" - все равно не работает - не в нем дело. Пойду в подписках пороюсь...
20 probably
 
08.08.13
16:31
(19) Если происходит именно перепроведение ЗАКАЗА, а не корректировка его движений, то можно просто поставить точку останова в процедуре ОбработкаПроведения у заказа, и тогда четко будет понятно, кто её вызвал.
21 НатальяАлекс
 
08.08.13
16:50
Как узнать кто ее вызвал? Поставила: ОбработкаПроведения() Закрытия потом сразу переход на ОбработкуПроведения() ЗАКАЗА
22 shuhard
 
08.08.13
16:50
(0)[Бьюсь не первый день, не могу найти]
явно не головой
23 НатальяАлекс
 
08.08.13
16:51
(22) нет, не головой - она мне еще нужна
24 НатальяАлекс
 
09.08.13
10:36
Нашла

Процедура ЗакрытиеЗаказовПокупателейОбработкаПроведения(Источник,Отказ,РежимПроведения,мВалютаРегламентированногоУчета,мУказаниеСкладов,
    мУказаниеСкладовВТЧ,Заголовок,СтруктураШапкиДокумента)
    
    ТаблицаЗаказов = Источник.Заказы.Выгрузить();                                                      
    ТаблицаЗаказов.Свернуть("ЗаказПокупателя");        
    
    Для Каждого ТекСтрока Из ТаблицаЗаказов Цикл
        
        Если Не ЗначениеЗаполнено(ТекСтрока.ЗаказПокупателя) Тогда
            Продолжить;
        КонецЕсли;
        
        ЗаказОб = ТекСтрока.ЗаказПокупателя.ПолучитьОбъект();
        ЗаказОб.БП_ЗаказЗакрыт = Истина;
        ЗаказОб.БП_ПричинаЗакрытия = Источник.Ссылка;
        
        Попытка
            ЗаказОб.Записать(РежимЗаписиДокумента.Проведение);
        Исключение
        КонецПопытки;
        
    КонецЦикла;
    
КонецПроцедуры
25 Serg_1960
 
09.08.13
10:54
PS: НатальяАлекс , если конфигурация на поддержке, но с возможностью внесения изменений - 100% кривые ручки быдлокодера.

Я бы посоветовал запустить сравнение в настройке поддержки (сравнить конфигурацию с конфигурацией поставщика) и выявить все изменения. Желательно бы их всех сопроводить меткой-комментарием.

PSS:
"О, сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель."

Есть те, которые задают вопрос про друга Гения с фамилией "Парадоксов"...но мы с вами не из этих тех :)
26 НаборДанных
 
09.08.13
11:02
ЗаказОб.БП_ЗаказЗакрыт = Истина;
ЗаказОб.БП_ПричинаЗакрытия = Источник.Ссылка;
Самопальные реквизиты, записывают при закрытии заказа, менять код/подход.
27 НатальяАлекс
 
09.08.13
11:12
(26) нет, не самопальные - разработчика АСЦ. Бизнеспроект.
(25) угу, сравнение... CRM Рарус, УТ 10, АСЦ - в одном флаконе - и в течение 5 лет переписывалась кем только можно....
28 НатальяАлекс
 
09.08.13
11:13
Тема закрыта. Всем спасибо.