Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 20:03
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Программно поменять движения документа  (Прочитано 4475 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Подскажите, пожалуйста, как В БГУ редакция 2.0 поменять движения документа "платежное поручение"?
Имеется документ платежное поручение. При формировании проводок к счету кредита не проставляется дополнительное субконто.
Нужно обработкой проставить в это субконто(СубконтоКт2) значение дополнительной классификации(как привязка к счету,доп классификация-это справочник, он имеет в данном случае единственное значение, его нужно проставить).


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

Подскажите, как обратиться к субконто2 и заполнить его значением?
И еще, выходит ошибка переменная не определена Документ.Ссылка
                      переменная не определена Ссылка





Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Собственно рисунок
Добавлено: 20 Дек 2014, 00:17

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


Возвращает в отладчике пустой набор записей. Кнопка обработки не реагирует.

Добавлено: 20 Дек 2014, 01:48

Ошибка НЕ установлен отбор по регистратору
Как не установлен? Не могу никак понять,может я здесь что не так написала??
НаборЗаписей.Отбор.Регистратор.Установить(регистрыбухгалтерии.ЖурналПроводокЕПСБУ);

Последний раз редактировалось: ppkmlite; 20 Дек 2014, 01:48. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
ВыборкаДетальныеЗаписи = Документы.ПлатежноеПоручение.Выбрать();
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДокОбъект = ВыборкаДетальныеЗаписи.ПолучитьОбъект();
ДвиженияДокумента = ДокОбъект.Движения.ЖурналПроводокЕПСБУ;
Для каждого Проводка Из ДвиженияДокумента Цикл
Проводка.СубконтоКт2 = Справочники.ДополнительнаяБюджетнаяКлассификация.НайтиПоНаименованию("000001: 8752454");
КонецЦикла;
ДокОбъект.Записать();

не проверял...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте.Спасибо, что откликнулись. Подскажите, пожалуйста, если я делаю так выходит ошибка


Для каждого Проводка ИЗ ДвиженияДокумента Цикл
            БухгалтерскийУчет.УстановитьСубконто(ДвиженияДокумента.СчетКт,ДвиженияДокумента.СубконтоКт2,"ДополнительнаяБюджетнаяКлассификация", выборкадетальныезаписи);

Выходит ошибка  "Поле объекта не обнаружено (СчетКт).


\\\У меня запрос

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

ДвиженияДокумента.Прочитать();
        Для каждого Проводка ИЗ ДвиженияДокумента Цикл
            БухгалтерскийУчет.УстановитьСубконто(ДвиженияДокумента.СчетКт,ДвиженияДокумента.СубконтоКт2,"ДополнительнаяБюджетнаяКлассификация", выборкадетальныезаписи);

    КонецЦикла;

Подскажите, что неправильно

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
БухгалтерскийУчет.УстановитьСубконто(ДвиженияДокумента.СчетКт,ДвиженияДокумента.СубконтоКт2,"ДополнительнаяБюджетнаяКлассификация", выборкадетальныезаписи);

вместо "ДвиженияДокумента" надо "Проводка"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Я сделала так, у меня ошибка метод объекта не обнаружен НайтиСтроки

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

Что я делаю не так??

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
НайтиСтроки() - это метод таблицы значений.
либо надо результат запроса в ТЗ выгружать, либо использовать НайтиСледующий()
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Скажите, что здесь не так.ошибка не удалось записать "журнал проводок ЕПСБУ"

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





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

&НаКлиенте
Процедура Обработать(Команда)
    ОбработатьНаСервере();
КонецПроцедуры

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Снова я к вам обращаюсь.Вернулась к своей  обработке(поменять программно движения документа). Как быть,если у  некоторых документов допклассификация два раза указывается в проводке,  то если два вида кбк, то счет 18 два раза проставляется. По моей  обработке проставляется субконто только к первой строчке, а вторая  остается пустой!



         
      Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            

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


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4471
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

Автор WillРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 15920
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4198
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 622
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7741
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 341
  • Точка Скрытых: 0
  • Точка Пользователей: 9
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal