Имя: Пароль:
1C
1С v8
v8: УТ 11. Нужно автоматизировать обособленное обеспечение.
,
0 Мисти
 
20.11.13
13:03
Идея - автоматизировать обособленное обеспечение.
И уже почти всё получается!
ПодпискаНаСобытие1ПередЗаписью
Если РежимЗаписи = РежимЗаписиДокумента.Проведение - подбираются заказы поставщикам и в них прописывается Заказ клиента. Куча тонкостей уже учтены, остался вопрос - получается, что при записи документа (у которого поначалу нет номера!) должен создаться справочник "Назначение", в котором этот номер фигурирует, в итоге ссылка в справочнике правильная, а наименование - нет.
Как быть-то?
1 Галахад
 
гуру
20.11.13
13:07
А если ПослеЗаписи?
2 acsent
 
20.11.13
13:09
УстановитьНовыйНомер()
3 Мисти
 
20.11.13
13:24
Мне нравится вариант 2!
А он не установится тогда 2 раза? У меня такой фокус уже был, в результате номера шли через один.
Или как-то наименования справочника потом поправить? Ссылки-то там правильные!
4 Мисти
 
20.11.13
13:39
О! А там и ссылки, оказывается, нет.
5 WildSery
 
20.11.13
13:47
При проведении документа создаётся справочник Назначение...
Жесть ваще.
А при отмене проведения что происходит? Справочник удаляется?
6 Мисти
 
20.11.13
13:56
Не-а, кому он мешает!
7 Мисти
 
20.11.13
13:57
В какую-нибудь бы глобальную переменную засунуть, а после записи документа поправить?
8 Мисти
 
20.11.13
13:58
Или просто такую переменную в заказе завести?
Положить туда это назначение...
9 Бешеная Нога
 
20.11.13
14:03
перед записью создавать ссылки по примеру:
СсылкаНовогоПланируемогоПоступления = Документы.ПланируемоеПоступлениеДенежныхСредств.ПолучитьСсылку(Новый УникальныйИдентификатор);

а при проведении создавать объект и присваивать наименование при необходимости:

    Поступление = Стр.ПланируемоеПоступлениеДенежныхСредств.ПолучитьОбъект();
        
        Если Поступление = Неопределено Тогда
            
            Поступление = Документы.ПланируемоеПоступлениеДенежныхСредств.СоздатьДокумент();
            Поступление.УстановитьСсылкуНового(Стр.ПланируемоеПоступлениеДенежныхСредств);        
        
        КонецЕсли;
10 Мисти
 
20.11.13
14:06
А куда я эту ссылку дену? Точнее, где я ее возьму "после записи"?
11 Бешеная Нога
 
20.11.13
14:36
дополнительные свойства?
12 Мисти
 
20.11.13
16:17
Заработало!!
    Если ТипЗнч(Источник)= Тип("ДокументОбъект.ЗаказКлиента")Тогда
        Если Не Источник.Кос_Назначение.Пустая() Тогда
            НаименСправ = "Заказ клиента "+    Источник.Номер+" от "+Формат(Источник.Дата,"ДФ=dd.MM.yyyy");
            Если Источник.Кос_Назначение.Наименование <> НаименСправ Тогда
                СправНазначение = Источник.Кос_Назначение.ПолучитьОбъект();
                СправНазначение.Наименование = НаименСправ;
                СправНазначение.Заказ = Источник.Ссылка;
                СправНазначение.Записать();
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
13 France
 
20.11.13
20:48
(0) так, УТ 11 позволяет вести обособленное обеспечение.. почему бы не использовать типовые возможности?
14 Мисти
 
21.11.13
15:09
(13) а мы их и используем! Только автоматизируем.
Ничего у меня, кстати, не заработало, потому что 1С сама создает этот справочник, у меня их стало 2, пришлось переносить процедуру в обработку проведения.
15 Бешеная Нога
 
21.11.13
15:15
16 Бешеная Нога
 
21.11.13
15:16
жесть. реально сочувствую твоему работодателю
17 Мисти
 
21.11.13
15:19
(16) Я тоже.
Но в итоге всё получается!