Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 22:31

Как заполнить таблицу с серийными номерами при выводе на основании

Автор lakykherson, 26 янв 2023, 12:57

0 Пользователей и 1 гость просматривают эту тему.

lakykherson

Цитата: Максим75 от 27 янв 2023, 12:40отлично. ключ связи это номер строки

не думаю , номер строки фиксируется в обработке ввод серийных номеров там отдельное поле

Максим75

короче говоря,аж интересно стало, нарыл у себя УТП какую-то древнюю, есть серийные номера в реализации и возврате, вывел на форму табличную часть, прикрутил заполнение при вводе на основании. и таки да, табличную часть переносит из реализации в возврат, а вот при открытии в обработке - бочина лезет, видимо с ключом связи связано. буду смотреть, шо в обработку залетает.

Максим75

нашел.
при создании на основании в таблицу с товарами возврата покупателей не затягивался КлючСвязи из документа основания, туда писался тупо номер строки, а это разные вещи. Поэтому в обработке и вываливалось не пойми что.
надо подправить там, где заполняется табличная часть Товары возврата на основании табличной части Товары реализации. И все будет работать.
У меня это реализовано через Модуль объекта документа ВозвратТоваровОтПокупателей, есть там процедура ОбработкаЗаполнения, из нее вызывается Процедура ЗаполнитьТоварыПоОснованию(ДокументОснование) Экспорт
Вот и надо в запросе добавить и при заполнении табличной части результатом запроса.

Как у Вас реализовано - не знаю, думаю что где-то аналогично.

lakykherson

Максим75,

У меня так же , но я не понял что нужно сделать, это можно сделать без изменения конфигурации?

во внешней обработке это получиться?

lakykherson

можно это сделать конструктором вывода на основании?

Максим75

Цитата: lakykherson от 27 янв 2023, 18:35Максим75,

У меня так же , но я не понял что нужно сделать, это можно сделать без изменения конфигурации?

во внешней обработке это получиться?
без изменения никак.
конструктором ввода не рекомендую пользоваться, он затрет уже существующее.
надо идти в модуль документа и там править.

lakykherson

на сколько я понимаю нам осталось всего заполнить данные которые заполняет внешняя обработка "ВводСерийныхНомеров" которая есть в конфигурации. И нам всего при заполнении СерийногоНомера и Ключа нужно добавить еще данные которые заполняет эта форма.

Не подскажите как это сделать? код обработки я прикреплял выше, вот скриншот этой формы и нам в цикле заполнения серийника и ключа нужно заполнить значения шапки из этой формы.

Максим75

lakykherson, нет, надо, чтобы в документе Возврат покупателей, при вводе на основании документа Реализации товаров и услуг, в табличную часть Товары залетал КлючСвязи. Он есть в данных документа, на форму просто не выведен. Туда сейчас залетает не то, поэтому и скачен все.
В обработке это не исправить.
Править надо в процедуре, которая отвечает за ввод на основании.

lakykherson

Максим75,

а почему тогда при повторном открытии в видео я показывал когда номер появился и нажать ок. то все номер сохраняется. Это как раз делает эта внешняя обработка и при записи все становится нормально.

// Процедура сохраняет в документе серийные номера.
//
Процедура ЗаписатьСерийныеНомераВДокумент()
   
    Документ[мИмяТабличнойЧастиСерийныеНомера].Загрузить(СерийныеНомера.Выгрузить());
    Документ.мПараметрыСвязиСтрокТЧ = мПараметрыСвязиСтрокТЧ;
   
    Если мНовыйКлючСвязи Тогда
        Документ[ИмяТабличнойЧасти].Получить(НомерСтрокиТабличнойЧасти - 1).КлючСвязи = КлючСвязи;
        Если ОбработкаСоставНабора.Документ <> Неопределено Тогда
            ОбработкаСоставНабора[ИмяТабличнойЧасти].Получить(НомерСтрокиТабличнойЧасти - 1).КлючСвязи = КлючСвязи;
        КонецЕсли;
    КонецЕсли;
   
КонецПроцедуры // ЗаписатьСерийныеНомераВДокумент()

lakykherson

Просто если бы у нас заполняется документ с ошибками и если програмно не передавать серийные номера а просто потом его сохранить и после выводить серийные номера в ручную то все нормально вводится и сохраняется. От сюда вывод что мы что то не дорабатываем при вводе серийного програмно. А это не как не относиться к выводу на основании стандартной процедурой. Она отрабатывает как положено. Просто в ней нет функции переноса серийных номеров она там не прописана.


Теги: 1с8 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск