Имя: Пароль:
1C
1С v8
Не могу присвоить значение для субконто
,
0 Иоган
 
26.04.16
14:10
Разъясните пожалуйста, почему не работает вот так:

Элемент.КорСубконто3 = ДокументСсылка;

После попытки присваивания, субконто остается пустып, тип непоределен.

подозреваю что дело в том что субконто имеет тип ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами
Но как быть с этим не знаю. Спасибо
1 FIXXXL
 
26.04.16
14:11
у КорСубконто3 есть в типах твой ДокументСсылка?
2 Иоган
 
26.04.16
14:12
(1) Есть
3 НЕА123
 
26.04.16
14:12
КорСубконто3 = ДокументСсылка;
?
4 Иоган
 
26.04.16
14:15
(3) что не ясно в вопросе?
5 Рэйв
 
26.04.16
14:16
у тебя тип"вид субконто", а ты пихаешь туда значение - ссылку
6 Иоган
 
26.04.16
14:18
(5) оо, спасибо! подскажите тогда пожалуйста, а как правильно сделать?
7 Рэйв
 
26.04.16
14:18
(6)Смотря что тебе нужно.
8 Иоган
 
26.04.16
14:19
(7) ээ... ну мне нужно указать в субконто ссылку на документ "реализация отгруженных товаров"
9 Рэйв
 
26.04.16
14:20
(8)Элемент - это что за зверь?
10 Dmitrii
 
гуру
26.04.16
14:21
(6) Тип должен быть не ПланВидовХарактеристикСсылка, а Характеристика.ВидыСубконтоХозрасчетные
11 Рэйв
 
26.04.16
14:21
Это часом не проводка у тебя?:-)
12 Рэйв
 
26.04.16
14:22
хотя врядли конечно:-)
13 Иоган
 
26.04.16
14:22
(11) это проводка )
14 Рэйв
 
26.04.16
14:24
(13)А можно полный код с определением 'Элемент'?
15 Рэйв
 
26.04.16
14:25
больше похоже на выборку из запроса
16 Рэйв
 
26.04.16
14:26
и боюсь помогать тебе уже будут другие:-) Мне надо уже домой бежать
17 НЕА123
 
26.04.16
14:26
(15)+1
очень похоже. только там КорСубконто3 м.б.
18 Mankubus
 
26.04.16
14:26
посмотри Бухгалтерскийучет.УстановитьСубконто в типовых
19 Иоган
 
26.04.16
14:29
Привожу полный код.
Это стандартная функция в БП 3.0
В нее вносились изменения еще до меня
Мой кусочек кода находится между "//Доработка начало" и "//Доработка конец"

Функция ПодготовитьПараметрыПроведения(ДокументСсылка, Отказ) Экспорт

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

    СтруктураРеквизиты.ОрганизацияПрименяетУСН =
        УчетнаяПолитика.СистемаНалогообложения(Реквизиты.Организация, Реквизиты.Период) = Перечисления.СистемыНалогообложения.Упрощенная;
    
    Если ТипЗнч(СтруктураРеквизиты.ДокументОтгрузки) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
        НачислятьНДСПоОтгрузке =
            УчетнаяПолитика.НачислятьНДСПоОтгрузке(Реквизиты.Организация, Реквизиты.Период);
    Иначе
        НачислятьНДСПоОтгрузке =
            УчетнаяПолитика.НачислятьНДСПриПередачеНедвижимости(Реквизиты.Организация, Реквизиты.Период);
    КонецЕсли;
    СтруктураРеквизиты.НачислятьНДСПоОтгрузке = НачислятьНДСПоОтгрузке;

    СтруктураРеквизиты.ВалютаРеглУчета = Константы.ВалютаРегламентированногоУчета.Получить();
    
    Если СтруктураРеквизиты.ВалютаВзаиморасчетов = СтруктураРеквизиты.ВалютаРеглУчета Тогда
        СтруктураРеквизиты.КурсДокумента = 1;
        СтруктураРеквизиты.КратностьДокумента = 1;
        КоэффициентРуб = 1;
    Иначе
        СтруктураКурсаВзаиморасчетов = РаботаСКурсамиВалют.ПолучитьКурсВалюты(
            СтруктураРеквизиты.ВалютаДокумента, Реквизиты.Период);
            
        СтруктураРеквизиты.КурсДокумента = СтруктураКурсаВзаиморасчетов.Курс;
        СтруктураРеквизиты.КратностьДокумента = СтруктураКурсаВзаиморасчетов.Кратность;
        КоэффициентРуб = СтруктураКурсаВзаиморасчетов.Курс / СтруктураКурсаВзаиморасчетов.Кратность;
    КонецЕсли;
    
    Если СтруктураРеквизиты.ВалютаВзаиморасчетов = СтруктураРеквизиты.ВалютаДокумента Тогда
        СтруктураРеквизиты.КурсВзаиморасчетов = 1;
        СтруктураРеквизиты.КратностьВзаиморасчетов = 1;
        КоэффициентВзаиморасчетов = 1;
    Иначе
        СтруктураКурсаДокумента = РаботаСКурсамиВалют.ПолучитьКурсВалюты(
            СтруктураРеквизиты.ВалютаВзаиморасчетов, Реквизиты.ДатаОтгрузки);
            
        СтруктураРеквизиты.КурсВзаиморасчетов = СтруктураКурсаДокумента.Курс;
        СтруктураРеквизиты.КратностьВзаиморасчетов = СтруктураКурсаДокумента.Кратность;
        КоэффициентВзаиморасчетов = (СтруктураКурсаДокумента.Курс / СтруктураКурсаДокумента.Кратность) / КоэффициентРуб;
    КонецЕсли;
            
    Запрос.УстановитьПараметр("ВалютаРеглУчета",              СтруктураРеквизиты.ВалютаРеглУчета);
    Запрос.УстановитьПараметр("ДеятельностьНаПатенте",        СтруктураРеквизиты.ДеятельностьНаПатенте);
    Запрос.УстановитьПараметр("ДеятельностьНаТорговомСборе",  СтруктураРеквизиты.ДеятельностьНаТорговомСборе);
    Запрос.УстановитьПараметр("СинонимТовары",                НСтр("ru = 'Товары'"));
    //ДОРАБОТКА
    Запрос.УстановитьПараметр("СинонимУслуги",                НСтр("ru='Услуги"));
    Запрос.УстановитьПараметр("Субсчета91",    БухгалтерскийУчетВызовСервераПовтИсп.СчетаВИерархии(ПланыСчетов.Хозрасчетный.ПрочиеРасходы));
    //ДОРАБОТКА

    Запрос.УстановитьПараметр("СинонимТара",                  НСтр("ru = 'Возвратная тара'"));
    
    Запрос.УстановитьПараметр("ОрганизацияПрименяетУСН",  СтруктураРеквизиты.ОрганизацияПрименяетУСН);
    Запрос.УстановитьПараметр("ОрганизацияПрименяетУСНПатент",   УчетнаяПолитика.ПрименяетсяУСНПатент(Реквизиты.Организация, Реквизиты.Период));
    Запрос.УстановитьПараметр("НачислятьНДСПоОтгрузке",   СтруктураРеквизиты.НачислятьНДСПоОтгрузке);
    Запрос.УстановитьПараметр("ДокументОтгрузки",         Реквизиты.ДокументОтгрузки);
    Запрос.УстановитьПараметр("ДатаРеализации",                Реквизиты.Период);
    Запрос.УстановитьПараметр("ПодразделениеОрганизации", Реквизиты.ПодразделениеОрганизации);
    Запрос.УстановитьПараметр("СчетРасчетов",               Реквизиты.СчетУчетаРасчетовСКонтрагентом);
    Запрос.УстановитьПараметр("СчетАвансов",               Реквизиты.СчетУчетаРасчетовПоАвансам);
    Запрос.УстановитьПараметр("С2013Года",                   Реквизиты.ДокументОтгрузки.Дата >= Дата('20130101'));
    Запрос.УстановитьПараметр("СчетВыручка",              ПланыСчетов.Хозрасчетный.Выручка);
    
    ПодготовитьТаблицыДокументаДляЦелейПриобретенияРеализации(Запрос, СтруктураРеквизиты);
    
    НомераТаблиц = Новый Структура;
    
    Запрос.Текст = ТекстЗапросаТаблицыДокумента(НомераТаблиц)    
        + ТекстЗапросаСписаниеТоваров(НомераТаблиц)                
        + ТекстЗапросаЗачетАвансов(НомераТаблиц)                
        + ТекстЗапросаРеализация(НомераТаблиц)                    
        + ТекстЗапросаЗачетАвансовКомитентов(НомераТаблиц)        
        + ТекстЗапросаПереоценкаТоваровВРознице(НомераТаблиц)    
        + ТекстЗапросаСписаниеОстаточнойСтоимостиОС(НомераТаблиц)
        // ДОРАБОТКА
        + ТекстЗапросаРеализацияУслугРОТ(НомераТаблиц)
        // ДОРАБОТКА
        + ТекстЗапросаТоварыНДС(НомераТаблиц)                    
        + ТекстЗапросаПереоценкаВалютныхОстатков(НомераТаблиц);
        
    Результат = Запрос.ВыполнитьПакет();
    
    Для Каждого КлючИЗначение Из НомераТаблиц Цикл
    
        ПараметрыПроведения.Вставить(КлючИЗначение.Ключ, Результат[КлючИЗначение.Значение].Выгрузить());
    
    КонецЦикла;
    
    //Доработка начало
    Для Каждого ЭлементПар Из ПараметрыПроведения.РеализацияТовары Цикл
        Если ЭлементПар.ИмяСписка = "Товары" Тогда
            ЭлементПар.КорСубконто3 = ДокументСсылка;
        КонецЕсли;
    КонецЦикла;
    //Дработка конец
    
    Возврат ПараметрыПроведения;
    
КонецФункции
20 Иоган
 
26.04.16
14:32
(16) в любом случае, большое спасибо )
21 Иоган
 
26.04.16
14:34
(18) Подозреваю, что это то что нужно ) сейчас попробую ) спасибо ))
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс