Копировать документ!

  • Автор темы Sergoon
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Sergoon

Гость
#1
Доброе время суток! Вопрос такой, в журнале есть функция копировать строку (F9), какая процедура вызываеться и как мне ее прописать для своей кнопки? 1С недавно колупать начал, помогите пожалуйста!!!
 

gorlanovmax

Well-Known Member
19.06.2008
286
0
#2
В модуле формы документа вставляется предопределенная процедура ВводНового(Скопирован)

Если документ введен копированием, то переменная Скопирован будет равна 1
 
S

Sergoon

Гость
#3
Спасибо! Это я нашел, но вот что-то пишет ошибку что неизвестное имя процедуры!!! Я так тупо и пишу:
ВводНового("название переменной")! Правильно? Может мозг уже перегрелся! Завтра еще буду пробывать!
 
H

Hryv

Гость
#4
Доброе время суток! Вопрос такой, в журнале есть функция копировать строку (F9), какая процедура вызываеться и как мне ее прописать для своей кнопки? 1С недавно колупать начал, помогите пожалуйста!!!
Не совсем понятен вопрос
Надо перехватить момент копирования или выполнить копирование при нажатии кнопки?

Чтобы создать копию документа надо сделать примерно так
На кнопку повесить (если кнопка на форме журнала)
ОткрытьФорму("Документ.Счет",,ТекущийДокумент);//Счет - это для примера, надо подставить правильный вид документа
А в самом документе поставить галочку, что он может вводиться на основании самого себя
И процедуру вставить в модуль

Код:
Процедура ВводНаОсновании(ДокОсн)
Если ДокОсн.Вид()="Счет" Тогда
РеквизитШапки1 = ДокОсн.РеквизитШапки1; // РеквизитШапки1 - тоже для примера
//Далее тоже самое для всех реквизитов шапки
//Если есть табличная часть, то
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ДокОсн.ВыгрузитьТабличнуюЧасть(ТЗ);
Док.ЗагрузитьТабличнуюЧасть(ТЗ);
КонецЕсли;
КонецПроцедуры
Если процедура ВводНаОсновании в модуле уже есть, то подправить
 
L

LxS

Гость
#5
Код:
	Док = Документы.АнкетаЗастрахованногоЛица.НайтиПоНомеру();
Док1 = Док.Скопировать();
Описание переменной Док привел как пример.

Его можно получать, как угодно.Лишь бы на выходе была ссылка на копируемый документ.
 
H

Hryv

Гость
#6
LxS, по вопросу не понятно о какой вермии идет речь
Мой пример для 7.7
При этом также как по [F9] откроется новый уже заполненный, но не сохраненный документ (вроде бы именно это требуется)

Как сделать в 8 версии я не в курсе
 
S

Sergoon

Гость
#7
LxS, по вопросу не понятно о какой вермии идет речь
Мой пример для 7.7
При этом также как по [F9] откроется новый уже заполненный, но не сохраненный документ (вроде бы именно это требуется)

Как сделать в 8 версии я не в курсе
Спасибо Hryv, именно твой то пример мне и нужен, а где он???
 
L

LxS

Гость
#8
LxS, по вопросу не понятно о какой вермии идет речь
Мой пример для 7.7
При этом также как по [F9] откроется новый уже заполненный, но не сохраненный документ (вроде бы именно это требуется)

Как сделать в 8 версии я не в курсе
Как спросили, так ответил.
Чьи это проблемы, если автору вопроса не вдомек, что 1С существует уже в 4х версиях, и все друг от друга в разной степени отличны.

По поводу моего примера, выполнится то же самое действие, что ты и сказал("вроде бы это и требуется.."), только с той разницей, что это кусок кода для восьмерки.

Как сделать в 8 версии я не в курсе
- теперь в курсе.
 
H

Hryv

Гость
#9
Теперь - да! Однако, прогресс не стоит на месте, всего 2 строки


Спасибо Hryv, именно твой то пример мне и нужен, а где он???
Повтор
На кнопку повесить (если кнопка на форме журнала)
ОткрытьФорму("Документ.Счет",,ТекущийДокумент);//Счет - это для примера, надо подставить правильный вид документа
А в самом документе поставить галочку, что он может вводиться на основании самого себя
И процедуру вставить в модуль

Код:
Процедура ВводНаОсновании(ДокОсн)
Если ДокОсн.Вид()="Счет" Тогда
РеквизитШапки1 = ДокОсн.РеквизитШапки1; // РеквизитШапки1 - тоже для примера
//Далее тоже самое для всех реквизитов шапки
//Если есть табличная часть, то
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ДокОсн.ВыгрузитьТабличнуюЧасть(ТЗ);
Док.ЗагрузитьТабличнуюЧасть(ТЗ);
КонецЕсли;
КонецПроцедуры
Если процедура ВводНаОсновании в модуле уже есть, то подправить
 
Статус
Закрыто для дальнейших ответов.