|
Условие если значение колонки СчетЗатратБУ равен определенному счету | ☑ | ||
---|---|---|---|---|
0
Alginsky
04.02.17
✎
21:27
|
Конфигурация: Бухгалтерия для Казахстана 2.0
Не могу написать условие для Колонки СчетЗатратБУ табличной части. Сделал новые движения в документе СписаниеТоваров и он должен выполнятся если только СчетЗатратБУ равен счету "2410"(Основные средства) например. Вроде как простое условие но что то не получается СписаниеТоваров.Товары.СчетЗатратБУ |
|||
1
jsmith82
04.02.17
✎
21:39
|
>>но что то не получается
Код есть? |
|||
2
Alginsky
04.02.17
✎
21:48
|
(1) Процедура ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, Отказ, Заголовок);
УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(ТаблицаПоТоварам, ИСТИНА, СтруктураШапкиДокумента.НеобходимостьОтраженияВНУ, Отказ); Если Не Отказ и СтруктураШапкиДокумента.УчитыватьНДС и СтруктураШапкиДокумента.КорректироватьНДС Тогда ТаблицаКорректировки = ПодготовитьТаблицуПоКорректировкеНДС(ТаблицаПоТоварам); ДвиженияРегистровПодсистемыНДС(СтруктураШапкиДокумента, ТаблицаКорректировки, Отказ, Заголовок); ДвиженияПоНДСРегл(ТаблицаКорректировки, СтруктураШапкиДокумента); КонецЕсли; //********Добавлено Если ЭтотОбъект.Товары.Колонки.СчетУчетаБУ.Код = 2410 Тогда ДатаДока = Дата; ТекОрганизация = СтруктураШапкиДокумента.Организация; ТекСтруктурноеПодразделение = СтруктураШапкиДокумента.СтруктурноеПодразделение; ОперацииОС = Движения.СобытияОСОрганизаций; ПараметрыАмортизацииОС = Движения.ПараметрыАмортизацииОСБухгалтерскийУчет; ПроводкиБУ = Движения.Типовой; ПроводкиНУ = Движения.Налоговый; ТаблицаТекМестонахождение = Новый ТаблицаЗначений; ВедетсяАналитУчетОсПоПодразделениям = УправлениеВнеоборотнымиАктивами.ВедетсяАналитическийУчетОСПоПодразделениям(СтруктураШапкиДокумента.Дата); ВедетсяАналитУчетОсПоМОЛ = УправлениеВнеоборотнымиАктивами.ВедетсяАналитическийУчетОСПоМОЛ(СтруктураШапкиДокумента.Дата); Для каждого СтрокаТЧ Из Товары Цикл ТекОС = СтрокаТЧ.СубконтоЗатратБУ1; // Движения по регистру СобытияОСОрганизаций Движение = ОперацииОС.Добавить(); Движение.Период = ДатаДока; Движение.ОсновноеСредство = ТекОС; Движение.Организация = ТекОрганизация; Движение.СтруктурноеПодразделение = ТекСтруктурноеПодразделение; Движение.Событие = СтруктураШапкиДокумента.СобытиеОС; Движение.НазваниеДокумента = Строка(СтруктураШапкиДокумента.Ссылка.Метаданные()); Движение.НомерДокумента = СтруктураШапкиДокумента.Номер; // Движения по регистру ПараметрыАмортизации Движение = ПараметрыАмортизацииОС.Добавить(); Движение.Период = ДатаДока; Движение.ОсновноеСредство = ТекОС; Движение.Организация = ТекОрганизация; Движение.СтруктурноеПодразделение = ТекСтруктурноеПодразделение; Движение.СрокПолезногоИспользования = СтрокаТЧ.СрокПолезногоИспользованияБУ; Движение.СрокИспользованияДляВычисленияАмортизации = СтрокаТЧ.СрокПолезногоИспользованияБУ - СтрокаТЧ.ФактСрокИспользованияБУ; Движение.СтоимостьДляВычисленияАмортизации = СтрокаТЧ.СтоимостьБУ + (СтрокаТЧ.СуммаМодернизацииБУ * СтрокаТЧ.Количество); Движение.КоэффициентАмортизации = СтрокаТЧ.КоэффициентАмортизацииБУ; Движение.ЛиквидационнаяСтоимость = СтрокаТЧ.ЛиквидационнаяСтоимостьБУ; // отнесение сумм модернизации на ОС Дт 2410 Кт 2933 СуммаПроводки = СтрокаТЧ.СуммаМодернизацииБУ; КонецЦикла; КонецЕсли; //************ КонецПроцедуры // ДвиженияПоРегистрам() На колонку ругается Это один из вариантов условии. Пробовал запросом вытащить тоже не то |
|||
3
Lexey_
04.02.17
✎
21:58
|
(2) что значит "На колонку ругается"?
|
|||
4
Alginsky
04.02.17
✎
22:00
|
(3) Поле объекта не обнаружено "Колонка"
|
|||
5
Lexey_
04.02.17
✎
22:02
|
(4) код из (2) не имеет никакого отношения к ошибке
|
|||
6
Alginsky
04.02.17
✎
22:02
|
Если убрать колонку и запросить ЭтотОбъект.Товары.СчетУчетаБУ.Код = 2410 то он напишет поле объекта не обнаружено "СчетУчетаБУ"
|
|||
7
Alginsky
04.02.17
✎
22:03
|
(5) //********Добавлено
Если ЭтотОбъект.Товары.Колонки.СчетУчетаБУ.Код = 2410 Тогда Вот это условие имеет отношение к ошибке |
|||
8
Lexey_
04.02.17
✎
22:04
|
(6) СчетУчетаБУ какой строки ты хочешь проверить?
(7) у табличной части нет колонок |
|||
9
Alginsky
04.02.17
✎
22:08
|
(8) ну там одну строку на пока. потом циклом сделаю по всем строкам
|
|||
10
Lexey_
04.02.17
✎
22:08
|
(9) какую?
ЭтотОбъект.Товары.СчетУчетаБУ.Код = 2410 здесь ни слова про твою строку |
|||
11
Alginsky
04.02.17
✎
22:12
|
(10) А как правильно запросить значение? там у меня одна строка вот с нее надо проверить
|
|||
12
Lexey_
04.02.17
✎
22:14
|
(11) получить строку можно либо в цикле "Для каждого", либо по индексу: Товары[ИндексСтроки]
|
|||
13
Alginsky
04.02.17
✎
22:25
|
(12) что то не контачит у меня)) так как запросить значение СчетЗатратБУ и сравнить его в условии. Индекс наверное "0" если там только одна строка
|
|||
14
Lexey_
04.02.17
✎
22:26
|
(13) да, индекс первой строки 0
|
|||
15
h-sp
04.02.17
✎
22:33
|
(13) Товары[0]
|
|||
16
Alginsky
04.02.17
✎
22:57
|
Поле объекта не обнаружено (Индекс)
Если ЭтотОбъект.Товары.Индекс[0].СчетЗатратБУ = 2410 Тогда Я какой то бредовый код пишу)) |
|||
17
Lexey_
04.02.17
✎
23:07
|
(16) издеваешься? см (15)
|
|||
18
Alginsky
04.02.17
✎
23:12
|
(17) ну а как правильно напишите пожалуйста если не сложно?
|
|||
19
Lexey_
04.02.17
✎
23:19
|
(18) в (15) же написали
|
|||
20
Alginsky
04.02.17
✎
23:54
|
(19) Спасибо. работает
Строка = ЭтотОбъект.Товары[0]; Если Строка.СчетЗатратБУ.Код = "2410" Тогда |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |