Не правильно переносит реквизит Номер документа СчетФактураПолученный

1. sidalexsandr 3 28.02.22 18:09 Сейчас в теме
В Комплексной автоматизации у документа СчетФактураПолученный реквизит Номер имеет длину 50, а в Бухгалтерии реквизит имеет длину 11. В конвертации данных сопоставлены реквизиты Номер и установлено автоматически приводить значение к длине приемника. В базе источник Номер = 007, а в базе приемник Номер = 00000000007. Причем реквизити Номер виден только через консоль запросов, вот запрос
ВЫБРАТЬ
СчетФактураПолученный.Ссылка КАК Ссылка,
СчетФактураПолученный.Номер КАК Номер,
СчетФактураПолученный.Дата КАК Дата,
СчетФактураПолученный.ДокументыОснования.(
ДокументОснование.Ссылка КАК ДокументОснованиеСсылка
) КАК ДокументыОснования
ИЗ
Документ.СчетФактураПолученный КАК СчетФактураПолученный

НО если открыть в Бухгалтерии документ то реквизит Номер пустой.
Скрин пустого номера прикладываю
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. mqlochink 7 01.03.22 10:48 Сейчас в теме
Конфигурации нет под рукой, может быть на форме документа отображается вовсе не реквизит Номер?
3. ActionBlog 01.03.22 11:03 Сейчас в теме
А в чем, собственно, вопрос?
4. dmitrit 22 01.03.22 12:15 Сейчас в теме
В базе-источнике ПКС Номер в обработчике ПередВыгрузкой написать скрипт:

В переменную НомерДокумента_11_Знаков присвоить номер документа источника, преобразованный к нужной длине.

Значение = НомерДокументаСДлинной_11_Знаков.

Как преобразовать? Пример функций:

Функция ПолучитьНомерДокументаБП(ВидДока, НомерДока)
Перем Результат;

//Префикс = "БЕЛ";
Префикс = ЛЕВ(НомерДока, 1);
ДлинаНомераБП = Документы[ВидДока].ПустаяСсылка().Метаданные().ДлинаНомера;
НомерБезПреф = ПолучитьНомерБезПрефикса(НомерДока);
Если стрДлина(Префикс + НомерБезПреф) > ДлинаНомераБП Тогда //в ут длинее
Результат = Префикс + Прав(НомерБезПреф, ДлинаНомераБП - стрДлина(Префикс));
Иначе
Результат = Префикс;
Пока стрДлина(Результат + НомерБезПреф) < ДлинаНомераБП Цикл
Результат = Результат +"0";
КонецЦикла;
Результат = Результат + НомерБезПреф;
КонецЕсли;

Возврат Результат;
КонецФункции //ПолучитьНомерДокументаБП

//**************************************************************************

Функция ПолучитьНомерБезПрефикса(Номер) Экспорт
Перем Результат;

Результат = "";
Для й = 1 по стрДлина(Номер) Цикл
Кодик = КодСимвола(Номер, й);
Если Кодик >=48 and Кодик <=57 Then
Результат =Результат + Сред(Номер, й,1);
EndIF;
КонецЦикла;

Возврат Результат;
КонецФункции //ПолучитьНомерБезПрефикса
5. dmitrit 22 01.03.22 12:17 Сейчас в теме
Просто в теле обработчика нужно эти функции втулить одной процедурой
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот