Помогите пожалуйста. Стоит учебная задача, нужно в документе Перемещение товаров, сделать настройку, чтобы при записи документа, создавался документ Списание на расходы и заполнялся данными из первого документа, так же, сделать так, чтобы если первый документ проводится, помечается на удаление, записывается, второй документ делает тоже самое.
Я добавил реквизит второго документа в первый, вынес его на форму. В процедуре ПриЗаписи в модуле объекта, написал такой код =
Но почему при попытки записи выдает ошибку Элемент не выбран!
Посмотрел в отладчике, в Реквизит "Связанный документ", почему то ничего не попадает, подскажите, что делать.
Я добавил реквизит второго документа в первый, вынес его на форму. В процедуре ПриЗаписи в модуле объекта, написал такой код =
Источник = Ссылка;
Если СвязанныйДокумент.Ссылка.Пустая() Тогда
СвязанныйДокумент = Документы.ВнутреннееПотребление.СоздатьДокумент();
СвязанныйДокумент.Организация = Источник.Организация;
СвязанныйДокумент.Склад = Источник.СкладПолучатель;
Но почему при попытки записи выдает ошибку Элемент не выбран!
Посмотрел в отладчике, в Реквизит "Связанный документ", почему то ничего не попадает, подскажите, что делать.
По теме из базы знаний
- Все скопируем и вставим! (Буфер обмена в 1С 8.3.24)
- Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3
- Программист 1С: как начать с нуля с минимальными затратами
- Запрос в 1С с нуля. Универсальный запрос "звёздочка"
- Генератор наименований переменных, 1С 8.3 (обычное приложение) - v.2025-02-17
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)СвязанныйДокумент - ссылка, Документы.ВнутреннееПотребление.СоздатьДокумент() - ДокументОбъект.
Правильно будет вот так
Правильно будет вот так
СвязанныйОбъект = Документы.ВнутреннееПотребление.СоздатьДокумент();
СвязанныйОбъект.Записать();
СвязанныйДокумент = СвязанныйОбъект.Ссылка;
СвязанныйОбъект.Записать();
СвязанныйДокумент = СвязанныйОбъект.Ссылка;
(2)
1)Источник = Ссылка;
2)Если СвязанныйДокумент.Ссылка.Пустая() Тогда
3)СвязанныйОбъект = Документы.ВнутреннееПотребление.СоздатьДокумент();
4)СвязанныйОбъект.Записать();
5) СвязанныйДокумент = СвязанныйОбъект.Ссылка
На 4 строчке Выдает такую ошибку.
Значение поля "Дата" не может быть пустой датой
1)Источник = Ссылка;
2)Если СвязанныйДокумент.Ссылка.Пустая() Тогда
3)СвязанныйОбъект = Документы.ВнутреннееПотребление.СоздатьДокумент();
4)СвязанныйОбъект.Записать();
5) СвязанныйДокумент = СвязанныйОбъект.Ссылка
На 4 строчке Выдает такую ошибку.
Значение поля "Дата" не может быть пустой датой
ну во первых событие "ПриЗаписи" происходит после записи документа поэтому твое присвоение новосозданного документа не работает.
во-вторых я бы использовал в такой ситуации механизм заполнения по основанию
в третьих для заполнения ревизита придется использовать событие "ПередЗаписью" на сервере, оно уже идет в транзакции записи документа, там нужно создать подчиненный док и записать его чтобы получить ссылку, а проведение/распроведение/перезаполнение уже или в событии "ПриЗаписи".
во-вторых я бы использовал в такой ситуации механизм заполнения по основанию
в третьих для заполнения ревизита придется использовать событие "ПередЗаписью" на сервере, оно уже идет в транзакции записи документа, там нужно создать подчиненный док и записать его чтобы получить ссылку, а проведение/распроведение/перезаполнение уже или в событии "ПриЗаписи".
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот