Имя: Пароль:
1C
 
Не заполняется значением переменная
,
0 Marry04
 
16.05.17
09:07
Есть строка таблицы значений - (СтрокаДокумента). У этой строки есть свойство - статьяДДС ( тип строка)
пытаюсь присвоить значение переменной. Но значением  не заполняется
ДДС = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП;
СтрокаДокумента.СтатьяДДС = ДДС;
Если в ДДС все нормально, тип значение попало. ТО в СтрокаДокумента.СтатьяДДС тип неопределен.
Как присвоить значение?
1 Lexey_
 
16.05.17
09:08
(0) типы разные
2 FIXXXL
 
16.05.17
09:08
этой строки есть свойство - статьяДДС ( тип строка)

перечисление - это не строка, но ссылка
3 igorPetrov
 
16.05.17
09:08
(0) Разные типы.
4 cw014
 
16.05.17
09:13
1) Попробуй ДДС = СокрЛП(Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП);
2) "ТО в СтрокаДокумента.СтатьяДДС тип неопределен." - а уверенна что тип ( строка )?
5 FIXXXL
 
16.05.17
09:15
(4) зачем плохому учишь? :)

потом будет с отбором в запросе глупые вопросы задавать
не надо ссылки в строчки превращать
6 cw014
 
16.05.17
09:21
(5) Иногда надо
7 FIXXXL
 
16.05.17
09:24
(6) тогда уж XMLСтрока() - рекомендую
8 Marry04
 
16.05.17
10:30
(7) (3) (4) на форме изначально СтрокаДокумента.СтатьяДДС -
поле ввода, которое является строкой. Запускаю отладчик. И при запуске показывает тип как неопределен.Потом когда присваиваю значение- тоже остается тип непределенным. Тип может быть у этой переменой разный вообще..
9 FIXXXL
 
16.05.17
10:33
(8) субконто составное что ли? есть в составе тип "Строка"
10 Marry04
 
16.05.17
10:34
(9) не составной тип данных. чисто строка. надо добавить типы. правильно?
11 h-sp
 
16.05.17
10:37
(10) а зачем вообще в поле СтатьяДДС пишете операцию? Пишите статью туда.
12 Marry04
 
16.05.17
10:40
(11) это самописная конфа..
13 Мимохожий Однако
 
16.05.17
10:44
(8)  = Строка(Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП);
Попробуй перед присвоением значений установить тип реквизита ДДС
14 Marry04
 
16.05.17
10:48
(13) нет, все равно тип неопределен..
15 h-sp
 
16.05.17
10:51
(12) всё равно, если назвали СтатьяДДС, то и пишите туда статью ДДС. Зачем путать?
16 FIXXXL
 
16.05.17
10:55
(14) у тебя поле с данными связано? у данных какой тип?
с чего то "строка" то "неопределено"?
поле  - это колонка на форме?
17 AlvlSpb
 
16.05.17
10:56
ИндексЗначения = Перечисления.ВидыОперацийСписаниеДенежныхСредств.Индекс(ПеречислениеЗП);
        ДДС = Метаданные.Перечисления.ВидыОперацийСписаниеДенежныхСредств.ЗначенияПеречисления[ИндексЗначения].Имя;
18 AlvlSpb
 
16.05.17
10:58
+(17) Это, если СтрокаДокумента.СтатьяДДС - Строка
19 h-sp
 
16.05.17
11:03
(18) может  ДДС не строка.
20 Marry04
 
16.05.17
11:11
(19) (18) СтатьяДДС -  ТипЗнч "Строка".
Попробовала как в (17) бесполезно. Даже строковый тип данных не хочет записывать в переменную.
21 AlvlSpb
 
16.05.17
11:11
(19) В (8) автор явно указал " на форме изначально СтрокаДокумента.СтатьяДДС -
поле ввода, которое является строкой. "
22 AlvlSpb
 
16.05.17
11:16
(20)Прошу прощения, ошибка (по памяти писал)
ЗначениеП = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП;
ИндексЗначения = Перечисления.ВидыОперацийСписаниеДенежныхСредств.Индекс(ЗначениеП);
        ДДС = Метаданные.Перечисления.ВидыОперацийСписаниеДенежныхСредств.ЗначенияПеречисления[ИндексЗначения].Имя;
23 Lexey_
 
16.05.17
11:16
(20) "СтатьяДДС -  ТипЗнч "Строка""
а у СтрокаДокумента.СтатьяДДС какой тип?
24 h-sp
 
16.05.17
11:17
(21) ДДС =  ???
25 Масянька
 
16.05.17
11:17
Извините, а что нельзя самой строке статьяДДС поставить тип не строка, а Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП? Не реализовано?
26 AlvlSpb
 
16.05.17
11:19
(24) Ну а что? И не такое видали, особенно в самописках. да и не нам решать. Автор сказал, наверное, знает о чем говорит
27 Marry04
 
16.05.17
11:20
(22) (25)  СтрокаДокумента.СтатьяДДС = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП;
нет, так тоже не идет
28 Marry04
 
16.05.17
11:20
(23)  а у СтрокаДокумента.СтатьяДДС Неопределено
29 Масянька
 
16.05.17
11:22
(27) Мне без картинок не понятно...
30 AlvlSpb
 
16.05.17
11:23
(28) Пробовали (22)?
31 Marry04
 
16.05.17
11:24
(30) да, все равно неопределенно
32 Масянька
 
16.05.17
11:24
(31) Картинку из конфигуратора с этой строкой и свойством.
33 AlvlSpb
 
16.05.17
11:26
(31) Значит тип значения не строка. Код абсолютно рабочий, недавно использовал. давайте весь код
34 AlvlSpb
 
16.05.17
11:27
или как в (32)
35 Marry04
 
16.05.17
11:30
(33) (32)
    //4) Определяем вид операции документа
    
    Если Не ЗначениеЗаполнено(СтрокаДокумента.ВидОперации) Тогда
        Если Исходяший Тогда
            Если ЗначениеЗаполнено(РеквизитыПлатежки.Ссылка) Тогда
                // Используем тот же алгоритм, что и при вводе списания с расчетного счета на основании платежного поручения
                //Если РеквизитыПлатежки.ПеречислениеВБюджет Тогда
                //    //ВидОперацииДокумента = УправлениеДенежнымиСредствами.ВидОперацииДокументаПеречисленияВБюджет(СтрокаДокумента.ПоказательКБК);
                //Если ТипЗнч(РеквизитыПлатежки.ДокументОснование) = Тип("ДокументСсылка.ЗарплатаКВыплатеОрганизаций") Тогда
                //    ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП;
                //Иначе
                    Если РеквизитыПлатежки.ВидДоговора = Перечисления.ВидыДоговоров.СПокупателем Тогда
                        ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ВозвратПокупателю;
                    ИначеЕсли РеквизитыПлатежки.ВидДоговора = Перечисления.ВидыДоговоров.Прочее Тогда
                        ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочиеРасчетыСКонтрагентами;
                    Иначе
                        ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику;
                    КонецЕсли;
                //КонецЕсли;
            //ИначеЕсли ПлатежиВБюджетКлиентСервер.РеквизитЗаполнен(СтрокаДокумента.СтатусСоставителя) Тогда
            //    ВидОперацииДокумента = УправлениеДенежнымиСредствами.ВидОперацииДокументаПеречисленияВБюджет(СтрокаДокумента.ПоказательКБК);
            ИначеЕсли СтрокаДокумента.Код = "0" Тогда
                ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеНалога;
                ДДС = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеНалога;
            ИначеЕсли (ПоискБанковскогоСчета(СтрокаДокумента.ПолучательСчет).Владелец=БанковскийСчет.Владелец) Тогда
                ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПереводНаДругойСчет;
                ДДС = СокрЛП(Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПереводНаДругойСчет);

            ИначеЕсли ЭтоКомиссияБанка(СтрокаДокумента) Тогда
                ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочееСписание;
                ДДС = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочееСписание;
            ИначеЕсли Найти(СтрокаДокумента.НазначениеПлатежа, "Заработная плата") > 0 Тогда
                ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП;
                 ДДС = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП;

            Иначе
                ВидОперацииДокумента = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику;
                ДДС = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику;
            КонецЕсли;
        Иначе // входящий платеж
            ВидОперацииДокумента = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ОплатаПокупателя;
            ДДС = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ОплатаПокупателя;

        КонецЕсли;
        
        

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


вот вся процедура .Это внешняя обработка загрузки выписок.
в зависимости от вида операции. устанавливается соответствующая статьяДДС.
36 Масянька
 
16.05.17
11:31
(35) Шайбу! Шайбу! (тьфу, картинку).
37 h-sp
 
16.05.17
11:33
(35) а здесь???    

Иначе
        ВидОперацииДокумента = СтрокаДокумента.ВидОперации;
        ДДС =  СтрокаДокумента.СтатьяДДС;
    КонецЕсли;

где у тебя присваивание

СтрокаДокумента.СтатьяДДС

нету. Голова- два уха.
38 Marry04
 
16.05.17
11:37
39 Marry04
 
16.05.17
11:39
(37) даже если закоментить это, все равно не определен тип
40 Масянька
 
16.05.17
11:40
(38) Феерично...
А можно картинку: просто конфигуратор, форма этого документа, свойство строки документа СтатьяДДС?
41 AlvlSpb
 
16.05.17
11:41
(38) Вам же в (37) прямо указали. Т.е. если ЗначениеЗаполнено (ВидОперации) - (не выполняется первое Если), то СтрокаДокумента.СтатьяДДС никак не определена. А если она не запонена?
42 Marry04
 
16.05.17
11:43
43 Масянька
 
16.05.17
11:46
(42) Вот там, где "Строка" (подсвечено синим) выбрать из списка "Перечисления.ВидыОперацийСписаниеДенежныхСредств".
Не?
44 AlvlSpb
 
16.05.17
11:50
(42) Так поле называется ВидДДС а не СтатьяДДС. Или вы что-то не то показали
45 Marry04
 
16.05.17
11:54
(44) в строке документа нет такого поля "ВидДДС"
46 ГдеСобака Зарыта
 
16.05.17
12:07
Ну все, народ без хлеба останется. Надеюсь хоть пекарня не одна на все село?
47 Marry04
 
16.05.17
12:11
(46) одна)))
спасайте народ. не понимаю.Для поля вид операции все устанавливается..а для статьиДДС не хочет..
48 h-sp
 
16.05.17
12:19
(47) вы нормально сделайте, не через задницу. Чтобы во всех ветках

Иначе и иначеЕсли присваивалось СтатьяДДС. Почему вы только в одном месе присвоили?
49 Масянька
 
16.05.17
12:24
(47) В типовом клиент-банке - Статья ДДС это Справочник.СтатьиДвиженияДенежныхСредств.
Стоит уйти из пекарни... Пока народ не потравился.
50 Marry04
 
16.05.17
13:01
(49) согласна, тут все решили сделать по "не типовому"))
51 catena
 
16.05.17
13:16
Поле с типом "Строка" не может самостоятельно принимать значение "Неопределено". Варианты:
1. Присваиваете не туда, куда смотрите.
2. Переопределяете где-то в коде.
3. Кэш...
52 AlvlSpb
 
16.05.17
20:40
(0) Так чем все закончилось? Любопытство мучает, в чем была причина?
53 Marry04
 
17.05.17
05:25
(52) пока ничем. в процессе
54 Marry04
 
17.05.17
05:57
(52) у меня такое ощущение, что это абсолютно не та переменная (СтатьяДДС). Я ей указала составной тип данных.  когда смотрю при отладке -  значение Неопределено и выбор типа данных (из табло выражений) - Строка, Число,Дата,Булево.
55 Масянька
 
17.05.17
07:59
(54) Ломать - не строить (С)
56 AlvlSpb
 
17.05.17
09:22
(54) Что говорит отладчик на первую строку кода
Если Не ЗначениеЗаполнено(СтрокаДокумента.ВидОперации) Тогда
Истина или Ложь?