Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Перезапись движений документа другим документом  (Прочитано 16558 раз)
0 Пользователей и 1 Гость смотрят эту тему.
jonik_joker
Участник

ru
Offline Offline

« : 12-03-2016 11:15 » 

Всем привет. Конфигурация Бух Корп 3.0.
Ситуация следующая: конфа нетиповая, хочу сделать типовую, т.е. загрузив конфигурацию поставщика, но тогда все "дописки" логично слетят. В роли "дописок" выступают 2 документа:
1)"Перемещение инвентаря", который делает движение по регистру бухгалтерии, по счету МЦ.04(забалансовый), Сумма = сумма, указанная в строке ТЧ документа;
2)"Перемещение товаров в другой филиал", СчетДт = 79.04(активный/пассивный, не предопределенный), СчетКт = 10.01(активный), Сумма = сумма, указанная в строке ТЧ документа.

Соответственно, хочу сделать движения этих документов, но уже через "Операции, введенные вручную", чтобы после "затирания" не нарушился баланс. Осложняется еще и тем, что периоды закрыты.
Поступало так же предложение, "сохранить" остатки на определенный период, но с этим вообще глухой лес, т.е. что это и с чем его едят в душе не размножаюсь.

Буду рад любым решениям, желательно с детальным разбором, так как данную конфу знаю не очень хорошо, а бухгалтера уже практически доели мой мозг.
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #1 : 16-03-2016 09:40 » 

День добрый.

ну тут всё просто:

1) по поводу обновления: а зачем вообще удалять эти два документа? загружай себе конфу сравнением - объединением а их оставь как есть и пусть живут.

2) По поводу закрытых периодов: я бы если уж очень хочется то сделала бы обработку, которая пройдёт в режиме обменданными.загрузка  по существующим регистрам бухгалтерии где регистратором являются документы нужного типа, перебила бы ссылку на регистратор с той, которая сейчас на документ "корректировка регистров", потом точно также нагло присвоила бы новым документам статус проведённых и успокоилась на этом. Получились бы вполне себе обороты.

3) По поводу остатков за период - очень хорошая мысль если не нужна статистика по документам за прошлые периоды.
Документы, которые используются для ввода остатков, находятся в "Корректировке записей регистров" и "Операция (бухгалтерский и налоговый учет)". Вы выбираете дату на которую период уже железно закрыт и нельзя открыть(так как сейчас март месяц то вы ещё можете за неё принять 01.01.2016г.), формируете на эту дату остатки по нужным вам счетам с нужными вам аналитиками(запросом, или обработкой, или смотрите шахматку, или оборотно сальдовую) и эти остатки заносите в документ ввода начальных остатков. Обычно используется при свёртке базы.
Есть обработка "Свертка базы". Она типовая, то есть найти можно хоть на ИТС, хоть в интернетах. Обработка проходит по ВСЕМ регистрам и снимает с записей флаг "Активная". после этого создаёт ввод начальных остатков и корректировку регистров.
Документы удаляются долго и мучительно. Там ссылочная целостность и всяко такое. Можно грохнуть их обработкой всё в том же режиме обменданными.загрузка, а если очень смелый то можно вообще это сделать зайдя со стороны SQL или прописав в обработке прямой запрос на SQL, но надо быть смелым и тренироваться на копии по ночам =))) там вообще никакой ссылочной целостности не проверится, зато очень быстро!
Записан
jonik_joker
Участник

ru
Offline Offline

« Ответ #2 : 16-03-2016 11:32 » 

1) хочу поставить конфу на полную поддержку, а 2-й документ влияет на баланс, поэтому нужны его проводки. При загрузке конфигурации поставщика эти 2 дока вместе с движениями удаляются.

2) а можно как-нибудь кодом пояснить?)

П.С. хоть убейте, но не могу найти в конфе документ "Корректировка регистров".
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #3 : 17-03-2016 08:35 » 

1) хочу поставить конфу на полную поддержку, а 2-й документ влияет на баланс, поэтому нужны его проводки. При загрузке конфигурации поставщика эти 2 дока вместе с движениями удаляются.

2) а можно как-нибудь кодом пояснить?)

П.С. хоть убейте, но не могу найти в конфе документ "Корректировка регистров".

1) пользуйтесь не загрузкой а сравнением-объединением. на поддержке можно держать и доработанную конфу, никакой трагедии нет.
у 1С три состояния объектов:
  • не редактируется, стоит на поддержке
  • редактируется с сохранением поддержки
  • не стоит на поддержке.
Можно поиграть на тестовой базе с конфигуратором и вернуть на поддержку с редактированием даже ту конфу, которая давно уже переписана вдоль и поперёк.

2) тут скорее этический вопрос. если вы программист 1С, то нет необходимости пояснять вам кодом как выбрать регистры, как поменять у записей регистратор и как определить тип документа указанного в регистраторе.. создавать программно документы тоже, по идее, умеете.
Если вы не программист не делайте этого самостоятельно
это не потому что не надо делать чужую работу, это потому, что надо отчетливо понимать, что вы делаете, когда решаетесь программно подправить данные регистров.

к постскриптуму:
я давно уже не сопровождаю бухгалтерию, но вот интернеты подсказывают такой порядок действий
Заходим в меню «Операции», далее «Бухгалтерский учет» – «Операции, введенные вручную»
откроется список, в котором присутствуют три пункта:
операция — это ручная операция для произвольной корректировки регистров; - Это то, что вы ищете.
сторно документа – сторнирует любой существующий документ любой датой;
типовая операция – выбирается из ранее внесенных шаблонов операций.
Записан
jonik_joker
Участник

ru
Offline Offline

« Ответ #4 : 17-03-2016 08:46 » new

Мне нужно именно "не редактируется, стоит на поддержке".
Решил проблему так:

Запросом выбираю ссылки на заменяемые документы, в цикле их обхожу вот таким кодом:

Код:
 

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


Cпасибо за консультацию)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines