Здравствуйте, Я копирую документ, при этом часть реквизитов нового документа не заполняются значениями старого. Есть какие — то настройки или предопределенная процедура, заполняющая новый документ?
в модуле объекта есть процедура «ПриКопировании»
также в форме можно перехватить, при открытии, перед открытием
эта процедура пустая, а документ заполняется почти полностью
У каждого реквизита документа есть флаг «Заполнять из данных заполнения»
+ подписки тоже могут быть
документ ЗаявкаНаРасходованиеСредств, УТП.
на реквизитах , которые заполняются, галочки пустые
там процедура приОткрыти в которой смотри проверку на Если НЕ ЭтоНовый Тогда
включи замер производительности, нажми скопировать, отключи замер. Если дело в коде — увидишь сразу
в этой процедуре реквизиты уже заполнены
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
|
|
|||
Iris-ocean
21.11.11 — 16:24 |
при копировании документа? Кроме как программно прописывать всю процедуру копирования? |
||
luckyluke
1 — 21.11.11 — 16:25 |
(0) Очистить, например, при открытии. |
||
Креатив
2 — 21.11.11 — 16:27 |
(0)Может подписаться на событие прикопировании? |
||
Defender aka LINN
3 — 21.11.11 — 16:28 |
Копирование — это целое событие. |
||
Iris-ocean
4 — 21.11.11 — 16:28 |
мне казалось типа галочка была в свойствах «не копировать при копировании объекта»…или это в 77 была |
||
Ns33
5 — 21.11.11 — 16:40 |
В модуле документа:
Процедура ПриКопировании(ОбъектКопирования) |
||
Iris-ocean 6 — 21.11.11 — 16:50 |
(5) да всё, это понятно….см (4) |
Быстрый старт в Python для 1С Разработчиков | 1s-to-python.ru
При вызове стандартной команды ввода на основании выполняется создание нового объекта и вызов в модуле объекта обработчика события ОбработкаЗаполнения()
. В этом событии должен быть реализован алгоритм заполнения данных объекта из данных объекта-основания. Именно этот обработчик генерируется конструктором ввода на основании:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Клиенты") Тогда // Заполнение шапки Клиент = ДанныеЗаполнения.Ссылка; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры
Следует учитывать, что этот обработчик будет использоваться не только при вводе на основании. Он будет вызываться и при вызове метода объекта Заполнить()
:
НовыйДокумент = Документы.РасходнаяНакладная.СоздатьДокумент(); НовыйДокумент.Заполнить(ВыбранныйКлиент); ФормаДокумента = НовыйДокумент.ПолучитьФорму(); ФормаДокумента.ПараметрОснование = ВыбранныйКлиент; ФормаДокумента.Открыть();
Таким образом, он является стандартным местом, в котором реализуется заполнение данных объекта из данных объекта основания без учета того, откуда и зачем вызывается это заполнение. Соответственно в этом обработчике можно только выполнять заполнение данных и нельзя делать каких-либо дополнительных действий связанных с интерфейсом системы.
Аналогично при копировании вызывается обработчик события ПриКопировании()
, в котором можно дополнить стандартное заполнение данных выполняемое системой при копировании объекта. Этот обработчик вызывается, как при интерактивном копировании, так и при вызове метода Скопировать()
.
Кроме того, расширения форм объектов предоставляют свойства ПараметрОснование
и ПараметрОбъектКопирования
, которые заполняются системой при выполнении стандартных команд ввода на основании и копирования. Значения этих свойств могут использоваться в обработчиках формы для определения того, что при открытии формы выполнялся ввод на основании или копирование.
Справка
ДокументСсылка.ИмяДокумента.Скопировать()
Возвращаемое значение:
- Тип:
ДокументОбъект
.
Описание:
- Создает новый документ копированием существующего. Использование метода не приводит к записи созданного объекта в базу данных.
Доступность:
- Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер).
ДокументОбъект.ИмяДокумента.ПриКопировании(ОбъектКопирования)
Параметры:
ОбъектКопирования
, типДокументОбъект
. Исходный документ, который является источником копирования.
Описание:
- Возникает при создании документа копированием.
Поиск:
1С:Предприятие • Ввод на основании • Заполнить • Копировать • Обработка заполнения • Параметр • Параметр объект копирования • Параметр основание • Событие
+1
Как определить при добавлении нового документа, что он добавляется копированием?
Есть расширение формы документа ПараметрОбъектКопирования. В него при копировании помещается ссылка на документ оригинал.
Также есть расширение ПараметрОснование, в нем ссылка на основание.
Вот пример:
Код 1C v 8.х
Процедура ПриОткрытии()
Если ЭтоНовый() Тогда
Если ПараметрОбъектКопирования = НЕОПРЕДЕЛЕНО Тогда
// заполняем реквизиты значениями по умолчанию
...
Иначе
...
КонецЕсли;
...
КонецЕсли;
...
КонецПроцедуры
Еще при копировании возникает событие в модуле объекта ПриКопировании(<ОбъектКопирования>)
Параметры:
<ОбъектКопирования>
Тип: ДокументОбъект.
Исходный документ, который является источником копирования.
Описание:
Возникает при создании документа копированием.
См. также:
ДокументСсылка, метод Скопировать
Войти или зарегистрироваться
[РЕШЕНО] При копирование
Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем Эмиль0690, 13 ноя 2015.
-
0/5,
Голосов: 0
-
Offline
Эмиль0690
Опытный в 1С- Регистрация:
- 3 фев 2014
- Сообщения:
- 331
- Симпатии:
- 2
- Баллы:
- 29
Добрый день!
Подскажите пожалуйста, каким образом можно очистить реквизит с типом строка при копирование документа?Код:Процедура ПриКопировании(ОбъектКопирования) СуммаПриходаNC = 0; Комментарий = 0; //ВидДокумент = Справочник.ВидДокумент.ПКОм3; КонецПроцедуры
реквизит называется Комментарий, есть процедура ПриКопирование в модуле документа но при копирование дока сумма не копируется т.е очистится
а реквизит Комментарий с типом строка вставляется (ноль) 0
как сделать что ровнялся не на нулю а на очистить?
Спасибо!
Эмиль0690,
13 ноя 2015
#1 -
Offline
Flash-Dance
Профессионал в 1С- Регистрация:
- 20 май 2012
- Сообщения:
- 365
- Симпатии:
- 42
- Баллы:
- 54
//двойные кавычки
Комментарий = «»;
Flash-Dance,
13 ноя 2015
#2 -
Offline
Эмиль0690
Опытный в 1С- Регистрация:
- 3 фев 2014
- Сообщения:
- 331
- Симпатии:
- 2
- Баллы:
- 29
Спасибо!
Эмиль0690,
13 ноя 2015
#3
- Похожие темы
-
8.х
Копирование документа
Tasya,
22 окт 2014, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 2
- Просмотров:
- 918
- Tasya
- 22 окт 2014
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…