Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Изменить программно проводки документа

GreenWarrior
читатель
офлайн
Дата регистрации: 14.07.2003
Сообщений: 77
Пост №1
 
25.02.2004 18:03

Здравствуйте!<br><br><br><br>Есть следующая проблема:<br><br><br><br>Документ до определенной даты делал проводки в дебет счета с ПЕРВЫМ значением субконто.<br><br>После даты Х,т.е. после того, как изменили модуль документа, документ стал делать проводки в дебет счета со ВТОРЫМ значением субконто.<br><br><br><br>Как программно изменить значение субконто с ПЕРВОГО на ВТОРОЕ у документов ранее даты Х, не перепроводя их (ПРЕПРОВОДИТЬ НЕЛЬЗЯ)!!!<br><br><br><br>Ручной способ я знаю, но он очень долог :(

Boris7
читатель
офлайн
Дата регистрации: 17.02.2004
Сообщений: 110
Пост №2
 
26.02.2004 05:39

В бухгалтерии документ создает операцию, в которой уже создаются проводки.<br><br>Таким образом можно выбрать операции до даты Х, выбрать их проводки и менять в них что угодно. При перепроведении соответствующих документов наши изменения пропадут.

GreenWarrior
читатель
офлайн
Дата регистрации: 14.07.2003
Сообщений: 77
Пост №3
 
26.02.2004 10:20

>В бухгалтерии документ создает операцию, в которой уже создаются проводки. <br><br>Это понятно :)<br><br><br><br>>Таким образом можно выбрать операции до даты Х, выбрать их проводки и менять в >них что угодно. <br><br>КАК менять? Руками? Или программно? Руками - можно, но очень не хочется 700 проводок перебивать руками.<br><br>ПРОГРАММНО? При изменении реквизита проводки - ошибка "Нельзя изменять записанные проводки"<br><br>

Boris7
читатель
офлайн
Дата регистрации: 17.02.2004
Сообщений: 110
Пост №4
 
26.02.2004 10:57

"Быстренько написал внешнюю обработку с одной процедурой:<br><br><br><br>Процедура Сформировать()<br><br> Опер = СоздатьОбъект("Операция");<br><br> Опер.ВыбратьОперации(,РабочаяДата());//сюда ваша дата Х :)<br><br> НачатьТранзакцию(); //чтобы быстрее<br><br> Пока Опер.ПолучитьОперацию() = 1 Цикл<br><br> Опер.ВыбратьПроводки();<br><br> Пока Опер.ПолучитьПроводку() = 1 Цикл<br><br> Опер.Дебет.Субконто(1,""""); //сюда не знаю что ставить<br><br> <br><br> КонецЦикла;<br><br> Опер.Записать()<br><br> КонецЦикла;<br><br> ЗафиксироватьТранзакцию();<br><br>КонецПроцедуры<br><br><br><br>У меня работает, удачи!"

GreenWarrior
читатель
офлайн
Дата регистрации: 14.07.2003
Сообщений: 77
Пост №5
 
26.02.2004 11:16

"На строке "Опер.Дебет.Субконто(1,""""); " выдается ошибка:<br><br>"Нельзя изменять записанные проводки!".<br><br><br><br>Проводки сделаны ДОКУМЕНТОМ, а не операцией, введенной вручную!!!<br><br><br><br>Спасибо за помощь, но ни фига не работает :("

Boris7
читатель
офлайн
Дата регистрации: 17.02.2004
Сообщений: 110
Пост №6
 
26.02.2004 12:08

Эта штука работает только для Опер = СоздатьОбъект(...)<br><br>Если Мы нашли документ, получили его операцию (не выборку), тогда действительно нельзя изменять записанные проводки.<br><br>В данном случае необходимо делать выборку именно по Операциям, проверять Опер.Документ = ... или Опер.Документ.Вид() = ..., потом выбирать проводки и менять Субконто. Работать будет!

Boris7
читатель
офлайн
Дата регистрации: 17.02.2004
Сообщений: 110
Пост №7
 
26.02.2004 12:13

"Или если Вам удобнее <br><br>Опер1 = Док.Операция;<br><br>Опер = СоздатьОбъект("Операция");<br><br>Опер.Найти(Опер1);<br><br>Опер.ВыбратьПроводки();<br><br>и т.д."

GreenWarrior
читатель
офлайн
Дата регистрации: 14.07.2003
Сообщений: 77
Пост №8
 
26.02.2004 12:30

"Держите код:<br><br>Процедура Сформировать()<br><br>Опер=СоздатьОбъект("Операция");<br><br>Опер.ВыбратьОперацииСПроводками(ДатаНач,ДатаКон,"20","10.7");<br><br>Пока Опер.ПолучитьОперацию()=1 Цикл<br><br>Если Опер.Документ.Вид()="ВыпускГотовойПродукции" Тогда<br><br>НачатьТранзакцию();<br><br>Опер.ВыбратьПроводки();<br><br>Пока Опер.ПолучитьПроводку()=1 Цикл<br><br>Если (Опер.Дебет.Счет=СчетПоКоду("20"))И((Опер.Кредит.Счет=СчетПоКоду("10.7")) Тогда<br><br> Если Строка(Опер.Дебет.ВидыНоменклатуры)="Монтаж товара" Тогда<br><br>       _ВН = СоздатьОбъект("Справочник.ВидыНоменклатуры"); <br><br>       ВН = _ВН.ТекущийЭлемент();<br><br>       Опер.Дебет.Субконто(1,ВН); //В ЭТОЙ СТРОКЕ СЛЕТАЕТ!!!!<br><br> КонецЕсли; <br><br>КонецЕсли; <br><br>КонецЦикла; <br><br>Опер.Записать();<br><br>ЗафиксироватьТранзакцию();<br><br>КонецЕсли; <br><br>КонецЦикла; <br><br>КонецПроцедуры<br><br><br><br>ИМХО, НЕВОЗМОЖНО программно поменять значения субконто в проводках операции, созданной документом, только руками :-("

AMV
читатель
офлайн
Дата регистрации: 03.02.2004
Сообщений: 50
Пост №9
 
26.02.2004 20:45

".......<br><br>_ВН = СоздатьОбъект("Справочник.ВидыНоменклатуры"); <br><br>ВН = _ВН.ТекущийЭлемент(); <br><br>.......<br><br><br><br>А вылетает не из-за того что _BH не позиционирован?<br><br><br><br>Полностью я в вашей проблеме не разбирался (так что просьба сильно не пинать), но может грабли в этом? "

mangelka
читатель
офлайн
Дата регистрации: 11.12.2003
Сообщений: 301
Пост №10
 
26.02.2004 23:08

"пардон, а при переходе с 4.2 на 4.4 Вы хотите сказать что документы Закрытие месяца (проводки по 69.3) перепроводились руками, а не програмно подставлялся сначало П69.3, который потом на 69.3.1 и 69.3.2 менялся....<br><br>Ваш код у меня слетел на Опер.Записать(); <br><br> Операция не выбрана!<br><br><br><br>не хватает след.<br><br>Опер=СоздатьОбъект("Операция"); <br><br>Опер1=СоздатьОбъект("Операция"); <br><br>Опер.ВыбратьОперацииСПроводками(ДатаНач,ДатаКон,"20","10.7"); <br><br>Пока Опер.ПолучитьОперацию()=1 Цикл <br><br>Если Опер.Документ.Вид()="ВыпускГотовойПродукции" Тогда <br><br>НачатьТранзакцию(); <br><br>Опер1.НайтиОперацию(Опер.Документ);<br><br>...<br><br>а далее как у Вас, но с Опер1<br><br><br><br>подглядите "ОбновлениеИБ""

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация