Версия для печати темы (https://pro1c.org.ua/index.php?s=e8227a311639187a0d0277a5cfe1bce6&showtopic=58882)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Как создать ссылку в документе не другой документ 1с 7.7 конф 7.7.003

Автор: ZUBR 10.05.20, 21:47

Здравствуйте!
Возникла задача. Кратко. У меня есть документ АктПриема. Из него программно через СоздатьОбъект я создаю РасходнуюНакладную. Мне нужно на этапе создания РасходнойНакладной на ее форме поставить кнопку, при нажатии на которую открывался бы этот АктПриема. Что написать в процедуре кнопки? Каким путем пойти? Чтобы покороче. И без перебора всех документов. Вобщем, нужна ссылка.
Спасибо!

Автор: ZUBR 10.05.20, 23:19

ZUBR @ Вчера, 22:47 * ,
Уточнение. Я не точно выразился. Кнопка создается, конечно, не на этапе создания РасходнойНакладной из АктаПриема. Кнопка будет на форме Расходной. Имеется в виду, создание готовой ссылки в РасходнойНакладной для открытия из нее соответствующего ей АктаПриема. Чтобы не городить поиск с перебором всех документов и не занимать ресурсы компьютера.
Спасибо!

Автор: denis84 11.05.20, 7:50

ZUBR @ Сегодня, 0:19 * ,
ДокументОснование = АктПриемаПередачи. В процедуре вводнаосновании()


denis84 @ Сегодня, 8:35 * ,

// ======================================
Процедура ВводНаОсновании(Док)

    Фирма = Док.Фирма;
    ДокументОснование = Док;    //вот ссылка на Ваш документ  документоснование - реквизит формы

    МестоХранения = Док.НовоеМестоХранения;
    Выдал = Док.Получил;
    НовоеМестоХранения = Док.МестоХранения;
    Получил = Док.Выдал;

    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку() = 1 Цикл
    // заполнение строк документа
    КонецЦикла;
КонецПроцедуры


Это как пример

Автор: ZUBR 11.05.20, 12:35

denis84 @ Сегодня, 8:50 * ,
Я не ввожу документ на основании, приведу часть кода:


Расх=СоздатьОбъект("Документ.РасходнаяНакладная");
Расх.Новый();
Расх.Фирма=Константа.ОсновнаяФирма;
.............................................................
.............................................................
Расх.НомерЗаказа=НомерЗаказа;
Расх.Модель=Модель;
............................................................
.............................................................
Расх.Записать();


Этот код записан в модуле документа АктПриема.
Теперь мне нужно добавить еще одну строку в этот код типа
Расх.СсылкаНаАктПриема = ????

таким образом, чтобы эту ссылку, или реквизит, я мог бы повесить на кнопку под названием "Акт приема" на форме РасходнойНакладной. Можно ли обойтись без ВводНаОсновании?
Спасибо!

Автор: volodya1122 11.05.20, 20:39

ZUBR @ Сегодня, 13:35 * ,

1. Чтото сильно намудрили с этими документами..... я до конца так и не понял. Поясню так как понял.
2. В документе акт нужно создать реквизит (СсылкаНаДокументРасхНакл) с типом Документ.РасходнаяНакладная
3. в документе Акт после Расх.Записать(); Написать СсылкаНаДокументРасхНакл=Расх.ТекущийДокумент():- это будет ссылка в Акте на ваш созданный документ расх накуладной.
4. Для ссылки На акт из расходной накладной; Расх.СсылкаНаАктПриема = ТекущийДокумент(); (соответственно реквизит в расходной накладной должен быть типа Документ.АктПрийома).
5. Ссылка на документ Расходная накладная, возможна только после его записи (после строки Расх.Записать()wink.gif. Соответственно и обратное, передавать ссылку на документ Акт в расходную накладную нужно после записи акта (написать Записать(); перед передачей ссылки на акт)

Автор: ZUBR 11.05.20, 21:25

volodya1122 @ Сегодня, 21:39 * ,
Вы отлично, прекрасно все поняли и дали мне именно то, что было нужно. Все получилось. Большой-большой респект!!!
icon_beer17.gif 32000000.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua