8.х ДокументСписок, Добавление элемента копированием

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

  1. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    В форме списка в процедуре ДокументСписокПередНачаломДобавления(Элемент, Отказ, Копирование)
    получаю добавляемую строку и пытаюсь установить значение реквизита, на что программа ругается, т.к реквизиты только на чтение. Подскажите, как можно при добавлении копированием в формесписка установить для документа нужное значение реквизита?
  2. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Возможно, надо редактировать не строку, а сам документ?

    И можно чуть подробнее - какая конфа, какой документ?
  3. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Да, документ. но как4 в формесписка получить объект документа, которому соответствует добавляемая строка? Докумеент - заявка на расходование средств, конфа УТ 8.1
  4. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    А можно текст вашей процедуры?
    Просто не совсем понятен смысл операции...

    и еще. Вы добавляете в ЭлементыФормы.ДокументСписок?
  5. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Процедура элементарная)) вызываю при добавлении копированием (F9)
    Код:
    Процедура ДокументСписокПередНачаломДобавления(Элемент, Отказ, Копирование)
    Если Копирование Тогда
    НовСтрока = ЭлементыФормы.ДокументСписок.ТекущиеДанные;
    НовСтрока.Состояние = Перечисления.СостоянияОбъектов.Подготовлен;
    КонецЕсли;
    КонецПроцедуры
    
  6. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    ПриНачалеРедактирования используйте
  7. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Да, процедура не сложная, но зачем она такая?
    Тем более это - получение строки ТабличнойЧасти Формы, а не документа.
    Может, правильнее было бы отлавливать события в основном модуле Документа?
  8. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Когда копируешь в процедуру ПриНачалеРедактирования в отладчике не заходит. А нельзя ли на основе строки табличной части формы получить объект документа, которому эта строка соответствует? Если отлавливать событие в модуле документа, то подскажите в каком месте?
  9. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    В МодулеОбъекта интересующего нас Документа пишем так:

    Код:
    Процедура ПриКопировании(Объект)
    Сообщить("ПОПАЛИ!");
    конецПроцедуры
    
    //Объект - это тот с которого делаем копию...
    
    
    
    
    Все. При копировании документа (типа нажатия f9) сюда попадем.
  10. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Получается что тогда необходимо переписывать все реквизиты, или достаточно будет только нужного мне? что - то типа
    Код:
    Объект.Состояние= Перечисления.ВидыСостоянияОбъектов.Согласован
    
    ?
  11. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Все равно не понимаю, чего вы хотите добиться...

    При таком коде, как в предыдущем посте вы меняете состояние СТАРОГО документа, с КОТОРОГО делаете копию
  12. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Вот и я про что говорю. Процедура ПриКопировании(Объект) вызывается у документа, который создался копированием или с которого мы создаём копированием? Вот что я хочу понять
  13. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Событие ПриКопировании относится к уже существующему документу. При создании НовогоДокумента ПОСЛЕ копирования нужно обрабатывать уже новый Документ. События типа: ПередЗаписью(), ПриУстановкеНовогоНомера и т.д.
    Если надо делать что-то с новым документом есть Метод - ЭтоНовый().
    Если честно, чего хотите добится-то?

    Форма Документа должна открыватся или нет?
  14. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Форма документа должна открываться. Добиться хочу, чтобы у созданного копированием документа стояло другое значение реквизита, нежели у того, с которого мы копируем
  15. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Благодарю за терпение!
  16. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Тогда в модуле ФормаДокумента.
    Код:
    // Процедура - обработчик события "ПриОткрытии" формы
    //
    Процедура ПриОткрытии()
    
    Если ЭтоНовый() Тогда // проверить объект на то, что он еще не внесен в ИБ
    
    // Заполнить реквизиты значениями по умолчанию.
    ЗаполнитьШапкуДокумента(ЭтотОбъект, глТекущийПользователь, мВалютаРегламентированногоУчета, "Продажа");
    УстановитьНомерДокумента(ЭтотОбъект);
    Комментарий="Это новый";
    КонецЕсли;
    
    
    
    
    
    
    С тебя ответ про PDF :unsure:
  17. TopicStarter Overlay
    andryxa85
    Offline

    andryxa85 Опытный в 1С

    Регистрация:
    7 июн 2008
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    26
    Не вопрос!)) Только подучусь маленько. год потерпит?))
  18. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Похоже, что придется терпеть...

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