Имя: Пароль:
1C
1С v8
Поменять программно движения документа
,
0 ppkmlite
 
19.12.14
22:59
Здравствуйте. Подскажите, пожалуйста, как В БГУ редакция 2.0 поменять движения документа "платежное поручение"?
Имеется документ платежное поручение. При формировании проводок к счету кредита не проставляется дополнительное субконто.
Нужно обработкой проставить в это субконто(СубконтоКт2) значение дополнительной классификации(как привязка к счету,доп классификация-это справочник, он имеет в данном случае единственное значение, его нужно проставить).

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

Подскажите, как обратиться к субконто2 и заполнить его значением?
1 salvator
 
19.12.14
23:09
Обратиться явно.
Запись.СубконтоКт.Договоры = ...
2 ppkmlite
 
20.12.14
00:12
Сделала так,набор записейв отладлчике проверяю-пустой?Кнопка не реагирует никак?!
ВыборкаДетальныеЗаписи = Документы.ПлатежноеПоручение.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НаборЗаписей = РегистрыБухгалтерии.ЖурналПроводокЕПСБУ.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.Регистратор.Установить(Документы.ПлатежноеПоручение);
        НаборЗаписей.Прочитать();
        Если НаборЗаписей.Количество() = 0 Тогда
            Возврат;
        КонецЕсли;
        Для каждого   Запись  ИЗ НаборЗаписей Цикл
        
        Запись.СубконтоКт2 = Справочники.ДополнительнаяБюджетнаяКлассификация.НайтиПоНаименованию("000001: 756/5487");
    НаборЗаписей.Записать();
        КонецЦикла;
        ПолучДок = ВыборкаДетальныеЗаписи.ПолучитьОбъект();
        НаборЗаписей = ПолучДок.Движения.ЖурналПроводокЕПСБУ.
ВыборкаДетальныеЗаписи.Записать();
3 salvator
 
20.12.14
00:14
(2) Перечитай (1) еще раз.
4 ppkmlite
 
20.12.14
00:19
Спасибо за ответ
5 timurhv
 
20.12.14
00:57
(2) В БГУ 2.0 же хвастались, что дополнительные субконто и тд можно заполнить не открывая конфигуратор, в пользовательском режиме, не?!
6 ppkmlite
 
20.12.14
01:10
Да, можно и субконто заполнить, и скопировать типовую операцию, и снять её с поддержки и доп аналитику добавить, И все это в режиме 1спредприятия!И к авансовым отчетам теперь не нужно прикреплять документы расхода.
А у меня  очень много документов, в каждый заходить, не вариант. Создаю обработку. Использую набор записей.Форма управляемая ,отбор не могу поставить по регистратору.

НаборЗаписей.Отбор.Регистратор.Установить(ссылка);-ошибка переменная не определена
7 Mankubus
 
20.12.14
11:02
(6) так надо определить переменную! что непонятного?
8 AlexITGround
 
20.12.14
13:48
Погроммисты блин, либо допилите документ и перепроведите, либо попробуйте подставить реквизит с помощью обработки справочников и документов.
9 AlexITGround
 
20.12.14
13:49
а вот подобные вещи делать никогда не стоит, т.к. при перепроведении документа - проблема вернется.
10 ppkmlite
 
24.12.14
22:46
Скажите, что здесь не так.ошибка не удалось записать "журнал проводок ЕПСБУ"

Проводка 2. Не заполнено субконто кредита Доп. классификация.
Так я и для этого обработку  делаю,чтоб проставить это субконто.!!





&НаСервере
Процедура ОбработатьНаСервере()     
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПлатежноеПоручениеРасшифровкаПлатежа.Ссылка
    |ИЗ
    |    Документ.ПлатежноеПоручение.РасшифровкаПлатежа КАК ПлатежноеПоручениеРасшифровкаПлатежа";
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        ДвиженияДокумента = РегистрыБухгалтерии.ЖурналПроводокЕПСБУ.СоздатьНаборЗаписей();
        
        ДвиженияДокумента.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.Ссылка);
        
        ДвиженияДокумента.Прочитать();
        
          
        Для каждого Проводка ИЗ ДвиженияДокумента Цикл
            Если Проводка.СчетКт = ПланыСчетов.ЕПСБУ.НайтиПоКоду("18.01")  Тогда
                
                
                ПараметрыОтбора = Новый Структура;
                ПараметрыОтбора.Вставить("КОСГУНазначениеПлатежа",проводка.КэкКТ);
                ПараметрыОтбора.Вставить("КБКНазначениеПлатежа",проводка.КПСКТ);
                НайденныеСтроки = ВыборкаДетальныеЗаписи.ссылка.РасшифровкаПлатежа.НайтиСтроки(ПараметрыОтбора);
                для каждого текстрока из НайденныеСтроки цикл
                    Проводка.СубконтоКт[1]=текстрока.ДопКлассификация;
                                        
                КонецЦикла;
                
                
            КонецЕсли;
            
        КонецЦикла;
    ДвиженияДокумента.Записать();
  
            
    КонецЦикла;
    КонецПроцедуры

&НаКлиенте
Процедура Обработать(Команда)
    ОбработатьНаСервере();
КонецПроцедуры
11 salvator
 
24.12.14
22:53
Не помню, метод НайтиСтроки разве можно применять для выборки из запроса?
12 salvator
 
24.12.14
23:06
+(11) Виноват, бегло прочитал код.
Попробуй так:
Проводка.СубконтоКт.ПредопределенноеИмяСубконто = текстрока.ДопКлассификация;

а вообще бывают типовые процедуры установки субконто. В БП например УстановитьСубконто()
13 ppkmlite
 
07.01.15
22:34
Здравствуйте. Снова я к вам обращаюсь.Вернулась к своей обработке(поменять программно движения документа). Как быть,если у некоторых документов допклассификация два раза указывается в проводке, то если два вида кбк, то счет 18 два раза проставляется. По моей обработке проставляется субконто только к первой строчке, а вторая остается пустой!


Для каждого проводка из ДвиженияДокумента Цикл
             Если Проводка.СчетКт = ПланыСЧетов.ЕПСБУ.НайтиПоКоду("18.01") Тогда
                 Если проводка.КПСКт=ВыборкаДетальныеЗаписи.КБКНазначениеПлатежа И проводка.КЭККт=   ВыборкаДетальныеЗаписи.КОСГУНазначениеПлатежа Тогда
                Проводка.СубконтоКт.ДопКлассификация =ВыборкаДетальныеЗаписи.ДопКлассификация
                 КонецЕсли;
            конецесли;
            КонецЦикла;