8.х как провести один документ из другого.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Geek, 26 июн 2008.

  1. TopicStarter Overlay
    Geek
    Offline

    Geek Опытный в 1С

    Регистрация:
    3 апр 2008
    Сообщения:
    105
    Симпатии:
    0
    Баллы:
    26
    При проведении определенного документа необходимо провести подчиненнй ему документ программно. Возможно ли это?
    Подчиненный я получил
    Код:
    Результат = Ссылка.Пустая();
    ТекстЗапроса =
    "ВЫБРАТЬ
    |ПодчиненныеДокументы.Ссылка КАК ПодчиненныйДокумент
    |ИЗ
    |КритерийОтбора.ПодчиненныеДокументы(&Ссылка) КАК ПодчиненныеДокументы";
    Запрос=Новый Запрос;
    Запрос.Текст=ТекстЗапроса;
    Запрос.УстановитьПараметр("Ссылка",ЭтотОбъект.Ссылка);
    Попытка
    Выборка=Запрос.Выполнить().Выбрать();
    Исключение
    КонецПопытки; 
    Пока Выборка.Следующий() Цикл
    ПодчиненныйДокумент=Выборка.ПодчиненныйДокумент;
    ПХозОперация=ПодчиненныйДокумент.ХозОперация;
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/попытка')">		Попытка	</span>
    Если
    ПХозОперация = Справочники.ХозОперации.УстановкаЦенКомпании И
    ПодчиненныйДокумент.ПометкаУдаления = Ложь  Тогда
    Результат = ПодчиненныйДокумент.Ссылка;
    КонецЕсли;
    Исключение;
    КонецПопытки;
    КонецЦикла;
    
    
  2. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Код:
    ПодчиненныйДокумент.Ссылка.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение);
    
    
  3. Sol
    Offline

    Sol Опытный в 1С

    Регистрация:
    14 ноя 2008
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    У меня похожая ситуация. Необходимо при проведении одного документа создать и провести другой документ. Если проведение первого не прошло, то второй документ создаваться не должен, а если второй документ провёлся, то нужно в первый док (есть спец. реквизит) записать ссылку на второй док.
    При моей реализации я создаю второй док из обработки проведения первого, провожу второй док и если проведен, записываю ссылку в реквизит первого и после проведения первого дока, т.к. реквизит изменился вылетает сообщение: документ изменен, сохранить или нет. Думаю, что так делать не правильно, а по другому придумать не могу.
    Помогите плиз, очень надо. :unsure:
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Делай сам вторую запись документа. Только просто запись, без проведения.
  5. Sol
    Offline

    Sol Опытный в 1С

    Регистрация:
    14 ноя 2008
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    И ещё вопрос на эту же тему: Какая процедура вызывается при пометке на удаление? Хочу чтоб при пометке первого дока, помечался подчинённый ему документ. Процедура "ОбработкаУдаленияПроведения" не подходит, т.к. я хочу помечать даже непроведенный документ.
    :unsure:
  6. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Можно создать подписку на событие "Перед удалением"
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Посмотри в типовых, как работает связка РТиУ и СФ
  8. Sol
    Offline

    Sol Опытный в 1С

    Регистрация:
    14 ноя 2008
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Это событие срабатывает только при удалении объекта из базы, а не при пометке на удаление.
    А вот связочку РТиУ придётся покопать :unsure:
  9. Sol
    Offline

    Sol Опытный в 1С

    Регистрация:
    14 ноя 2008
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Чё-то ничё я не накопал там, кто сталкивался, помогите плиз.
  10. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Посмотрите событие "ОбработкаУдаленияПроведения" в РТиУ
  11. Sol
    Offline

    Sol Опытный в 1С

    Регистрация:
    14 ноя 2008
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    ОбработкаУдаленияПроведения - вызывается при пометке на удаление когда док проведён, а не просто записан.
    Сделал так:
    В процедуре "ПередЗаписью" проверяю реквизит ПометкаУдаления (вроде бы реквизит, точно не помню), если помечен, то помечаю подчинённый док.
    Всем спасибо!
  12. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В событии ПередЗаписью есть такая строчка, про которую несколько раз писали выше:

    Код:
    мСчетФактура = УчетНДС.СинхронизацияПометкиНаУдалениеУСчетаФактуры(ЭтотОбъект);
    

Поделиться этой страницей