|   |   | 
| 
 | 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: ЗУП: программно заполнить субконто в проводке !!!!! | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |