Имя: Пароль:
1C
1С v8
СКД: Значение шапки документа из значения ТЧ
0 lg2marvel
 
30.08.18
14:22
Привет.
В истонике в ТЧ Транзит есть реквизит Касса, нужно передать его в шапку документа Приходный кассовый ордер в реквизит ПодразделениеКТ.

В конвертации свойств Касса - > ПодразделениеКТ ПередВыгрузкой пишу запрос:

Если (Источник.ВидОперации = Перечисления.ВидыОперацийПКО.асТранзит) Тогда
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |ПриходныйКассовыйОрдер.Транзит.(
        |    Касса.Ссылка
        |    ) КАК Касса
        |ИЗ
        |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
        |ГДЕ
        |    ПриходныйКассовыйОрдер.Ссылка = &Ссылка ";
    Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
    
    Выборка = Запрос.Выполнить().Выбрать();    
    Пока Выборка.Следующий() Цикл    
        Сообщить(Выборка.Касса);
        Значение = Выборка.Касса;
    КонецЦикла;

КонецЕсли;

Но в результате при выгрузке из источника получаю ошибку:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(9411)}: Метод объекта не обнаружен (УникальныйИдентификатор)
            УникальныйИдентификатор = СсылкаНаИсточник.УникальныйИдентификатор();

Может я что-то туплю и есть какой-то более нормлаьный выход из ситуации?
1 DrShad
 
30.08.18
14:30
причем тут СКД?
2 Пуля
 
30.08.18
14:32
Причем тут С
3 lg2marvel
 
30.08.18
14:32
(1) КД
4 DrShad
 
30.08.18
14:37
(3)ладно
и как твоя ошибка связана с твоим излишним запросом?
5 lg2marvel
 
30.08.18
14:43
(4) Смотрю результат работы запроса - да, действительно, в выборка.Касса нет кассы, хотя странно, в консоли отрабатывала с результатом.

Можно как-то получить значение реквизита ТЧ источника без запроса?
6 DrShad
 
30.08.18
14:45
Источник.Транзит[0].Касса
7 lg2marvel
 
30.08.18
14:52
(6) Спасибо, пробую варианты
8 lg2marvel
 
30.08.18
14:56
Отработало на ура!
Всем спасибо

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

КонецЕсли;

КонецЕсли;
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс