|
HELP: дозаполнение ТЧ проводками !!! | ☑ | ||
---|---|---|---|---|
0
листопад
12.09.12
✎
15:52
|
ЗУП, 2.5.54.1
Надо добавить проводки в документ "Отражение зарплаты в рег.учете". На форме документа "ОтражениеЗПвРегУчете" создала кнопку, на ней процедуру, которая ищет определенную проводку в ТЧ и если находит ее, то создает новую. Подскажите, почему проводка новая не создается? Вот код: Счет96 = ПланыСчетов.Хозрасчетный.РезервыПредстоящихРасходов; Счет70 = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда; Счет26 = ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы; ТабЧасть = ДокументОбъект.ОтражениеВУчете; Для каждого Строка Из ТабЧасть Цикл Если Строка.СчетДт = Счет96 И Строка.СчетКт = Счет70 Тогда Если ТипЗнч(Строка.СубконтоДт1)=Тип("СправочникСсылка.Резервы") И ЗначениеЗаполнено(Строка.СубконтоДт1) И НРег(Строка.СубконтоДт1.Наименование)="Оценочные (премия)" Тогда Проводка = ДокументОбъект.Движения.БУОсновныеНачисления.Добавить(); Проводка.СчетДт = Счет26; Проводка.СчетКт = Счет70; Проводка.СуммаНУ = Строка.Сумма; ДокументОбъект.Движения.БУОсновныеНачисления.Записать(); КонецЕсли; КонецЕсли; КонецЦикла; |
|||
1
Maxus43
12.09.12
✎
15:54
|
дак добавлять надо в ТЧ, а не в ДокументОбъект.Движения
|
|||
2
DrShad
12.09.12
✎
15:55
|
а нельзя просто не начислять резервы?
|
|||
3
листопад
12.09.12
✎
15:56
|
(1) Это как?
|
|||
4
Maxus43
12.09.12
✎
15:56
|
(3)
Если Строка.СчетДт = Счет96 И Строка.СчетКт = Счет70 Тогда Если ТипЗнч(Строка.СубконтоДт1)=Тип("СправочникСсылка.Резервы") И ЗначениеЗаполнено(Строка.СубконтоДт1) И НРег(Строка.СубконтоДт1.Наименование)="Оценочные (премия)" Тогда Проводка = ТабЧасть.Добавить(); Проводка.СчетДт = Счет26; Проводка.СчетКт = Счет70; Проводка.СуммаНУ = Строка.Сумма; ДокументОбъект.Движения.БУОсновныеНачисления.Записать(); КонецЕсли; КонецЕсли; |
|||
5
Maxus43
12.09.12
✎
15:57
|
(4) + ДокументОбъект.Движения.БУОсновныеНачисления.Записать(); - удалить ещё
|
|||
6
листопад
12.09.12
✎
16:15
|
(4), (5) - не помогло! Проводка так и не создается!!!
|
|||
7
Maxus43
12.09.12
✎
16:21
|
(6) проводка при проведении создаётся
|
|||
8
листопад
12.09.12
✎
16:28
|
(7) провела док-т, все равно не создается...
|
|||
9
Maxus43
12.09.12
✎
16:30
|
(8) в ТЧ то добавилась строка?
|
|||
10
листопад
12.09.12
✎
16:33
|
(9) нет.
|
|||
11
Maxus43
12.09.12
✎
16:37
|
(10) ну с этим надо разбираться, а не с проводками
|
|||
12
листопад
12.09.12
✎
16:47
|
(11) Хелп ми!!!
|
|||
13
Maxus43
12.09.12
✎
16:48
|
шо такое ДокументОбъект? весь код выложи...
ТабЧасть = ЭтотОбъект.ОтражениеВУчете; |
|||
14
salvator
12.09.12
✎
16:49
|
(13) +1 c языка снял
|
|||
15
листопад
12.09.12
✎
16:52
|
(13) Это весь код в (0).
ТабЧасть = ДокументОбъект.ОтражениеВУчете; |
|||
16
Maxus43
12.09.12
✎
16:54
|
(15) ТабЧасть = ЭтотОбъект.ОтражениеВУчете;
|
|||
17
salvator
12.09.12
✎
16:54
|
(15) Ты вызываешь процедуру из формы открытого документа. В данном случае, чтобы обратиться к объекту, нужно написать ЭтотОбъект.
Соответсвенно, ТабЧасть = ЭтотОбъект.ОтражениеВУчете; |
|||
18
листопад
12.09.12
✎
17:01
|
(17) Поправила, все равно строчка новая не создается!!!!!!!!!!!!!!!
|
|||
19
Maxus43
12.09.12
✎
17:12
|
значит не работает условие:
Если Строка.СчетДт = Счет96 И Строка.СчетКт = Счет70 Тогда Если ТипЗнч(Строка.СубконтоДт1)=Тип("СправочникСсылка.Резервы") И ЗначениеЗаполнено(Строка.СубконтоДт1) И НРег(Строка.СубконтоДт1.Наименование)="Оценочные (премия)" Тогда вот и всё |
|||
20
salvator
12.09.12
✎
17:12
|
(18) Может, условие не проходит?
ЗУП под рукой нет, но возможно нужно писать не Если ТипЗнч(Строка.СубконтоДт1)=Тип("СправочникСсылка.Резервы") а Если ТипЗнч(Строка.СубконтоДт1)=Тип("ПланВидовХарактеристикСсылка.ВидыСубконто.Резервы") |
|||
21
Maxus43
12.09.12
✎
17:14
|
(20) не, тип у значения определяется, это вроде правильно.
(18) отладчиком пользоваться умеем? |
|||
22
Aleks73
12.09.12
✎
17:16
|
если с отладчиком совсем туго, можно в конфигураторе сообщения тестовые рассыпать.
|
|||
23
листопад
13.09.12
✎
10:42
|
(19) Вы правы! Закомментировала это условие, строчки в ТЧ создались.
(20) Условие все-таки надо вставить, поэтому пишу: Если ТипЗнч(Строка.СубконтоДт1)=Тип("ПланВидовХарактеристикСсылка.ВидыСубконтоХозрасчетные.Резервы") И ЗначениеЗаполнено(Строка.СубконтоДт1) И НРег(Строка.СубконтоДт1.Наименование)="Оценочные (премия)" Тогда Выдает сообщение об ошибке, что тип не определен: Документ.ОтражениеЗарплатыВРеглУчете.Форма.ФормаДокумента.Форма(1697)}: Тип не определен (ПланВидовХарактеристикСсылка.ВидыСубконтоХозрасчетные.Резервы) Если ТипЗнч(Строка.СубконтоДт1)=Тип("ПланВидовХарактеристикСсылка.ВидыСубконтоХозрасчетные.Резервы") И ЗначениеЗаполнено(Строка.СубконтоДт1) И НРег(Строка.СубконтоДт1.Наименование)="Оценочные (премия)" Тогда |
|||
24
листопад
13.09.12
✎
11:34
|
HELP ME!!!
Строчки в ТЧ опять не добавляются: Счет96 = ПланыСчетов.Хозрасчетный.РезервыПредстоящихРасходов; Счет70 = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда; Счет26 = ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы; НужноеСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Резервы"); ТабЧасть = ЭтотОбъект.ОтражениеВУчете; Для каждого Строка Из ТабЧасть Цикл Если Строка.СчетДт = Счет96 И Строка.СчетКт = Счет70 Тогда Если Строка.СубконтоДт1 = НужноеСубконто И НРег(Строка.СубконтоДт1.Наименование)="Оценочные (премия)" Тогда Сообщить ("НАШЕЛ!!!"); Проводка = ТабЧасть.Добавить(); Проводка.СчетДт = Счет26; Проводка.СчетКт = Счет70; Проводка.СуммаНУ = Строка.Сумма; КонецЕсли; КонецЕсли; КонецЦикла; |
|||
25
листопад
13.09.12
✎
11:36
|
+(24) Т.е. мне надо, чтобы если в ТЧ документа находится проводка Дт96 (субконто "Оценочные (премия)") - Кт70, то создавалась проводка Дт26 - Кт70 с суммой по НУ.
|
|||
26
листопад
13.09.12
✎
11:54
|
Ап!
|
|||
27
листопад
13.09.12
✎
12:33
|
UP!
Ну подскажите же, как добавить условие, если проводка в ТЧ: Дт96 (субконто "Оценочные (премия)") - Кт70 Тогда... |
|||
28
sanja26
13.09.12
✎
12:53
|
Может
Если ТипЗнч(Строка.СубконтоДт1) = Тип(НужноеСубконто) И Строка.СубконтоДт1=Справочники.Резервы.НайтиПонаименованию("Оценочные(Премия)") Тогда |
|||
29
листопад
13.09.12
✎
14:03
|
(28) Ошибку выдает:
Тип не определен (Резервы) Если ТипЗнч(Строка.СубконтоДт1) = Тип(НужноеСубконто) И Строка.СубконтоДт1=Справочники.Резервы.НайтиПонаименованию("Оценочные (премия)") Тогда |
|||
30
sanja26
13.09.12
✎
14:56
|
(29) попробуй оставить только 2-ю часть условия
Строка.СубконтоДт1=Справочники.Резервы.НайтиПонаименованию("Оценочные(Премия)") |
|||
31
sanja26
13.09.12
✎
14:57
|
для плана видовХарактеристик ТИп "ВидыСубконто", поэтому ошибка (29)
|
|||
32
salvator
13.09.12
✎
15:01
|
(29) Че за переменная "НужноеСубконто"?
|
|||
33
листопад
13.09.12
✎
15:11
|
Всем СПАСИБО! Проблему решила так:
Счет96 = ПланыСчетов.Хозрасчетный.РезервыПредстоящихРасходов; Счет70 = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда; Счет26 = ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы; Субконто96 = Справочники.Резервы.НайтиПоНаименованию("Оценочные (премия)"); Субконто26 = Справочники.СтатьиЗатрат.НайтиПоНаименованию("Зарплата", Истина); ТабЧасть = ЭтотОбъект.ОтражениеВУчете; Для каждого Строка Из ТабЧасть Цикл Если Строка.СчетДт = Счет96 И Строка.СчетКт = Счет70 Тогда Если Строка.СубконтоДт1 = Субконто96 Тогда Сообщить ("НАШЛА!!!"); Проводка = ТабЧасть.Добавить(); Проводка.СчетДт = Счет26; //вот здесь как установить нужное субконто у счета 26 Если Проводка.СубконтоДт1 = Субконто26 Тогда Сообщить("Нашла субконто!!!"); КонецЕсли; Проводка.СчетКт = Счет70; Проводка.СуммаНУ = Строка.Сумма; КонецЕсли; КонецЕсли; КонецЦикла; Новые строчки в ТЧ - создаются!!! Но теперь, как у счета26 проставить субконто Справочники.СтатьиЗатрат "Зарплата"??? Сейчас это субконто -пустое. |
|||
34
salvator
13.09.12
✎
15:13
|
+32
Да и вообще, зачем проверять на заполненность, соответствие типов, если в целом нужно проверить на конкретное значение в субконтоДт1? Пишите просто Если Строка.СчетДт = СчетТакойТо И Строка.СчетКт = СчетСякойТо И Строка.СубконтоДт1 = Справочник.МойСправочник.НАйтиПоКоду("11111") Тогда ... создаем проводку... |
|||
35
salvator
13.09.12
✎
15:15
|
(33) Есть универсальные процедуры установки субконто. В БП - УстановитьСубконто()
|
|||
36
sanja26
13.09.12
✎
15:19
|
так 96 или 26?)
|
|||
37
sanja26
13.09.12
✎
15:21
|
а понял... проверь тип субконтоДт1 после смены счета
|
|||
38
листопад
13.09.12
✎
15:33
|
(35) В том то и дело, что эта процедура пишется не в БП, а в ЗУП! Поэтому универсальные процедуры для БП - здесь не срабатывают!!!
|
|||
39
salvator
13.09.12
✎
15:37
|
(38) Я не говорю, что нужно использовать эту процедуру. Вероятно, в ЗУП есть аналогичная.
|
|||
40
листопад
13.09.12
✎
15:40
|
(39) - я не нашла, поэтому и пишу на форум.
|
|||
41
sanja26
13.09.12
✎
15:47
|
(40) теперь посмотри в отладчике Проводка.СубконтоДт1
|
|||
42
листопад
13.09.12
✎
15:50
|
(41) Тема перешла на решение другой проблемы, поэтому я создала новую тему, уже именно по второму вопросу. Там я написала, что в отладчике показывает. Посмотрите, пож-та!!!
v8: ЗУП: программно заполнить субконто в проводке !!!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |