Как восстановить контрагента в 1с
Обновлено: 06.07.2024
Организация ведет бухгалтерский учет в корпоративной базе по нескольким организациям в типовой 1С 8.2 БП КОРП на SQL 2008. По ночам делаются бэкапы на ленточку. Утром очередного дня обнаружилось, что по нескольким организациям «поехала» отчетность, «краснота», нет документов и пр. В ходе оперативного анализа журнала регистрации выяснилось, что в ночь было запущено удаление документов по нескольким организациям, в частности «авансовых отчетов» (причину выводим за скобки). Ночной бэкап был сделан, пока шел процесс удаления документов, т.е. утром не оказалось полноценной копии базы, чтобы сделать восстановление штатными средствами.
Примечание: удаление документов выполнялось командой Удалить() без контроля ссылочной целостности.
Данная новость настигла меня, когда я был вдали от офиса, компьютера и интернета. Чуть позже я понял, что в этом был небольшой плюс для меня, т.к. не ощущал того, что в этот момент происходит в бухгалтерии, в службе ИТ и других подразделениях. Голова была холодной, что позволяло мыслить свободнее.
1. Первое и самое простое решение с технической точки зрения – это восстановить базу от предыдущей ночи. В этом случае пользователям придется повторить операции вчерашнего дня. Не смертельно, можно, но…
2. Восстановить базу из бэкапа от прошедшей ночи. Затем экспортом-импортом перенести недостающие документы из копии базы от предыдущей ночи. Можно, но… в этом случае придется перепроводить эти документы + восстанавливать последовательность по всем организациям. У нас это займет около месяца, а вчерашняя отчетность нужна сегодня (!).
3. Это решение – не простое, а, как оказалось, золотое. Восстановить базу из бэкапа от прошедшей ночи. Затем, зная структуру таблиц базы данных, экспортировать соответствующие данные средствами СУБД из копии базы от предыдущей ночи. Я только слышал, что иногда делают что-то подобное с 1С-овскими базами. Конечно, этот вариант нелегитимный, но у меня не оставалось другого выбора. Скажу честно, все делал в первый раз.
Обработка показала следующее. Данные по документу «авансовый отчет» хранятся в семи таблицах, в двух из них данных не было. Итого необходимо перенести информацию из пяти таблиц (отмечены цветом ):
Запускаем SQL Management Studio. Команда INSERT в помощь. Т.к. на момент создания бэкапа данные были удалены частично, то пришлось предварительно удалить данные в таблицах-приемниках, чтобы при добавлении не было задвоений. Ура! Несколько тысяч документов с табличными частями «переехали» из базы-источника в базу приемник. «Простите, но где проводки?» - спросила бухгалтер. Мне казалось, что они останутся в базе после такого «жесткого» удаления документов. Возникшая ситуация напомнила мне вариант № 2.
Что там с проводками? Проводки хранятся в регистре бухгалтерии «Хозрасчетный». Структура оказалась следующая:
В моем случае данные бухгалтерского регистра нельзя было так просто взять и переписать полностью из одной таблицы в другую, т.к. в нем хранится информация не только по документу «авансовый отчет», а также проводки за предыдущий день.
Пришлось использовать все туже команду INSERT, но с условием, что из базы-источника копируются записи только для документов, которые находятся в таблице документа «авансовый отчет» базы-приемника. Отбор по уникальному номеру не составил труда. Сначала были перенесены данные «основной» таблицы, затем таблицы со «значениями субконто». Переносить «итоги» я посчитал нецелесообразным.
«Документы и проводки есть, но отчетность все равно кривая» - сказала бухгалтер.
Время шло, позади полдня, все на нервах, просят выполнить вариант № 1.
«Кривая отчетность из-за того, что кривые итоги» - подумал я. Попросил подождать еще полчаса, чтобы пересчитать итоги. И. о чудо! Результаты всех устраивают. Осталось сделать превращение (бэкап-ресторе или детач-аттач, кому и что больше нравится) полученной базы в рабочую.
В качестве заключения.
На все ушло часа три. Это притом, что все делалось впервые и на свой страх и риск.
Чуть позже обнаружилось, что отсутствуют «авансовые отчеты» в «журнале операций», но изложенным выше способом данные были скопированы в рабочую базу. Структура журнала документа «журнал операций» следующая:
Метаданные | Имя таблицы хранения | Назначение |
Имя таблицы | ||
ЖурналДокументов.ЖурналОпераций | DocumentJournal6336 | Основная |
ЖурналДокументов.ЖурналОпераций |
Смею предположить, что аналогичное решение можно использовать и в других нештатных (!) ситуациях применительно к другим объектам. Надеюсь, у вас все будет хорошо и не придется заниматься подобным.
PS
Это моя первая публикация, поэтому не судите строго. Буду рад, если кому-нибудь пригодится изложенная идея. «Велосипед» - скажете? Ну, кому – как.
Если появятся вопросы по конкретике, то постараюсь дополнить в статье.
Заполнение потерянного реквизита возможно двумя способами:
1) Взять из выгруженной заранее базы. Написать обработку выгрузки-загрузки или использовать стандартную с ИТС ВыгрузкаЗагрузкаДанныхXML
2) Взять первичную документацию и вручную забить данные в документы.
Сколько документов "запоролось"?
Может, при "обнулении" слетел вид реквизита? А новое значение записалось, но не отображается по этой причине? И достаточно будет обработкой присвоить реквизитам нужный вид (справочник "Контрагенты") и все "починится"?
Это так, в порядке бреда, чтобы проверить и поэкспериментировать на копии базы.
Это не ИМХО, это прописная истина.Но все-таки лучше позже, чем никогда.
Можно начать как раз с плоскогубцев: есть мнение, что ими очень удобно рвать волосы на собственной ж.
(1) RedGreenFox,
1. Делать копии.
2. Тестировать обработки массово модифицирующие данные на копии или тестовой базе.+ вести логи обработки: в данном случае что-то вроде:
документ, контрагент до, контрагент после.
PS Никакого инстинкта самосохранения.
по поводу воостановления:
как уже сказали
1. Копия
2. Первичка
+3. Если в документе есть договор и его не затерли, то контрагента можно восстановить из него (контрагент=ДоговорКОнтрагента.владелец)
Но это все разговоры для тех, кто еще не сделал обработки ))
Для автора - только ручное восстановление реквизита с бумажек.
Собственно, RedGreenFox просит о помощи.
Прям даже не знаю, чем в такой ситуации можно помочь?
Скорее всего, когда RedGreenFox говорит, типа нет бэкапов, он лукавит.
Наверняка, хоть недельной давности но должны быть.
В такой ситуации надо часть документов перебросить из старой базы, а часть заполнить вручную. Вообще, не понятно о каком количестве документов идёт речь?
Но Раз уж "сообщество" решило, что нужны плоскогубцы, мыло и верёвка, то Наверно стоит обсудить и такие варианты помощи.
Оперативные консультации по 1С без предоплаты. Как определить тип контрагента в 1С. Обслуживание, настройка и доработка 1С для комфортной работы.
Одной из основных операций при работе с программой 1С 8.3 является заполнение Справочника Контрагенты, представляющего собой перечень всех поставщиков, покупателей и т.д. принявших на себя те или иные обязательства по договору с которыми работает организация.
Давайте рассмотрим, что собой представляет Справочник «Контрагенты» в 1С 8.3 и как с ним работать.
Справочник «Контрагенты» находится в блоке «Справочники»-«Покупки и продажи»-«Контрагенты».
Перед нами открывается журнал с элементами справочника. Для удобства работы мы можем группировать контрагентов по папкам, по любой принадлежности будь то поставщик, покупатель, банк и т.д.
Если нам необходимо создать новую группу для контрагентов, мы выбираем «Создать группу», и перед нами открывается окно «Контрагенты (создание группы)», где необходимо заполнить поле «Наименование», а по желанию и поле «Комментарий». После нажимаем «Записать и закрыть». В справочнике появится новая группа.
Также для удобства и ускорения работы со справочником «Контрагенты» можно применять разные режимы просмотра элементов.
Кликаем на значение «Еще» и в открывшемся списке выбираем «Режим просмотра», где можно указать один из трех вариантов режима просмотра:
- Иерархический – элементы будут отображаться в выбранной группе;
- 5 Список – будут отображены все элементы справочника без учета группировки;
- 6 Дерево – будут отображаться все группы справочника и выбранные элементы в подчинении.
Как создать новый элемент справочника «Контрагенты» в 1С 8.3
Новый контрагент вводится в справочник через значение «Создать».
Перед нами открывается пустая карточка контрагента, которую необходимо заполнить.
При этом у пользователя есть 2 варианта заполнения карточки Контрагента:
Заполнение автоматом работает только при подключении «1С Контрагент». При этом:
-
Данные заполнятся по ИНН или наименованию контрагента автоматически, без ошибок;
*Если ИНН выделен красным цветом, Контрагент отсутствует в базе ФНС.
При создании контрагента и заполнении карточки в ручном режиме пользователь должен заполнить все основные поля…
…указать «Вид контрагента» и в выпавшем списке выбрать одно из значений:
- Юридическое лицо;
- Физическое лицо;
- Обособленное подразделение;
- Государственный орган.
В зависимости от выбранного вида контрагента будет изменяться табличная часть документа и поля обязательные для заполнения.
В карточке контрагента имеется функционал «Справки 1СПАРК Риски», который помогает быть в курсе изменений у ваших контрагентов и клиентов: сервис каждый день дает информацию о банкротстве, ликвидации, планах по реорганизации, изменении юридического адреса и руководителя. Сервис помогает отслеживать изменения, использует различные источники информации, включая ЕГРЮЛ и Единый федеральный реестр сведений о фактах деятельности юридических лиц.
Данная опция работает только в случае подключения 1СПАРК Риски.
Непосредственно в карточке контрагента мы можем создать банковский счет. Для этого выбираем «Банковские счета»-«Создать».
В открывшейся карточке заполняем такие обязательные для заполнения поля, как банк, номер счета, валюту. Если платежи проводятся через корреспондентский счет, открытый в другом банке, необходимо указать банк для расчетов. Если расчетный счет используется для расчетов по контрагенту государственного заказа, необходимо указать «Государственный контракт».
Также можно настроить вывод необходимой информации в платежных поручениях и требованиях. В данной настройке можно прописать:
- Наименование контрагента, которое будет выводиться в поле «Получатель» платежного поручения или в поле «Плательщик» в платежном требовании;
- Обозначить, где будет указываться КПП контрагента (только в платежных поручениях в бюджет или во всех платежных поручениях);
- Написать текст, который будет автоматически выводиться в назначении платежа при создании нового платежного поручения.
В закладке «Банковские счета» контрагента можно создать множество расчетных счетов, при этом можно указать один из нескольких р/сч «Использовать как основной». При формировании документа списание с расчетного счета в платежном поручении «Основной расчетный счет» будет заполняться по умолчанию.
В карточке контрагента можно сразу создать документ «Договоры». Для этого выбираем «Договоры»-«Создать».
В открывшейся карточке заполняем вид договора:
- С поставщиком;
- С покупателем;
- С комитентом(принципалом) на продажу;
- С комитентом(принципалом) на закупку;
- С комиссионером (агентом) на закупку;
- С факторинговой компанией;
- пр.
Заполняем поля «Номер договора» и «Дата». При этом наименование программа заполняет автоматически, ориентируясь на информацию из этих полей. Прописываем организацию, с которой данный контрагент заключает договор.
К договору пользователь может присоединить файлы в любом формате.
Присоединенные файлы можно просматривать, редактировать (каждая версия отредактированного файла храниться в 1С 8.3, где при необходимости их можно просмотреть, когда, в какое время, а также какой пользователь редактировал прикрепленный файл), распечатывать документ.
Важно помнить, что, после того как пользователь отредактировал прикрепленный файл, файл необходимо освободить от редактирования через «Еще»-«Завершить редактирование».
В закладке «Договоры» контрагента можно создать множество элементов договоров, при этом можно указать один из нескольких «Использовать как основной». При формировании документов в программе договор будет заполняться по умолчанию.
В карточке контрагента существует возможность сохранять историю изменения полей «Полное наименование» и «КПП». Если у контрагента изменился «КПП» или «Полное наименование» необходимо в «Истории» внести дату и новое значение. После внесения изменений в программу данные во всех документах до указанной даты в истории будут брать значение начального реквизита, а в документах, начиная с даты нового значения, будет указываться новое значение реквизита.
В карточке «Контрагент» есть возможность просмотреть все документы, в которых указан текущий контрагент, его расчетные счета, договора. Для этого выбираем «Документы». В открывшемся списке отобразятся все документы контрагентов, которые при необходимости можно отсортировать по договору или организации. У пользователя есть возможность просмотреть проводки по интересующему документу, выбрав интересующий документ и нажав значок «Показать проводки и другие движения документа» (Дт/Кт).
В заключение рассмотрим функционал, предусмотренный для удобства рассылки писем контрагентам.
В 1С 8.3 есть возможность настроить и распечатать конверт, с заполненными автоматом адресными строками и индексом.
Пользователю предлагается выбрать вариант заполнения адреса контрагента-получателя:
- Почтовый;
- Юридический;
- Фактический.
Адрес заполнится автоматически из карточки контрагента.
Также можно выбрать один из трех вариантов формата конверта и вывести на печать логотип организации (загрузить логотип организации можно в реквизитах организации в, разделе «Логотип и печать»).
При работе с программой 1С может так случиться, что пользователь по ошибке вносит одинаковые элементы в справочники программы. Это создает неудобства в работе и путаницу в данных. Чаще всего подобные накладки случаются со справочниками «Контрагенты» и «Номенклатура». Они достаточно объемные, поэтому в них могут и кроются такие недочеты.
В результате пересортицы пользователь может в одном документе выбрать один элемент, например, контрагента, а в другом – другой элемент справочника. Такая ситуация может возникнуть, когда в базе работают несколько пользователей: не найдя нужный, заводится новый, создавая тем самым дубли.
Для поиска и удаления дублей, в программе 1С Бухгалтерия 8.3 предусмотрена одноименная обработка. Рассмотрим принцип ее работы.
Обработка поиск и удаление дублей
Открыть обработку можно в разделе меню «Администрирование» - «Обслуживание» перейдя по гиперссылке «Поиск и удаление дублей».
В открывшемся окне необходимо указать область поиска, заполнив поле «Искать в:».
Из предложенного списка выбираем нужную область поиска дублей. В нашем примере проверим сначала справочник «Контрагенты».
Перейдя по гиперссылке в поле «Сравнить», задаем правила поиска дублей для выбранного объекта. По умолчанию установлен поиск по наименованию – по схожим словам. Но пользователь может написать разные наименования, например, полное и сокращенное – ИП или Индивидуальный предприниматель, полные данные контрагента (физического лица) – фамилию, имя, отчество, или указать только инициалы.
В этом случае можно сопоставить элементы по каким-то другим реквизитам. Для справочника «Контрагенты» – это ИНН, КПП, для справочника «Номенклатура» – Артикул и т.п.
После того как условия поиска заданы, нажимаем кнопку «Найти дубли». Программа автоматически составит список из повторяющихся элементов. Выделив элемент в правом окне, видим, что слева отобразилась информация, где он был использован. Рядом с элементом указано количество объектов, где он задействован.
Элемент с наибольшим количеством записей программа автоматически определяет как оригинал, выделив его синей стрелочкой. Если какой-то из объектов мы обрабатывать не будем, галочку с него надо снять. Или если мы хотим изменить объект, на который будут перенесены все данные с другого объекта при его удалении, то отметим его, нажав кнопку «Отметить как оригинал».
После нажатия кнопки «Удалить дубли» программа перенесет все объекты, где был задействован элемент-двойник, на отмеченный объект-оригинал, тем самым объединив их.
Мы можем закрыть обработку или, нажав кнопку «Новый поиск», повторить поиск дулей в других местах программы.
Для примера найдем дубли элементов в справочнике «Номенклатура», проведя сравнение по артикулу и наименованию.
Аналогично предыдущему описанию ищем и удаляем дубли.
Посмотрим, что же происходит с ними в справочнике. Зайдем в справочник «Контрагенты» (раздел меню «Справочники» - «Покупки и продажи»). Дубль-двойник помечен на удаление. Помимо этого мы видим, что контрагент был внесен дважды, но с разным наименованием. Внимательный пользователь бы заметил, что ИНН у элемента двойника выделен красным цветом. В программе имеется контроль совпадений контрагентов по ИНН.
Перейдя в справочник «Номенклатура» (раздел меню «Справочники» - «Покупки и продажа»), выполним поиск по наименованию, т.к. зрительно похожее название почему-то не отображалось. Что мы видим? У одного из элементов справочника перед названием стоит пробел – именно поэтому пользователь не может увидеть этот элемент в списке, просматривая его в алфавитном порядке. Все символы идут обычно в начале списка. Не найдя этот элемент, пользователь создал новый. Такая ситуация встречается довольно часто.
Так, используя штатный функционал программы, можно очистить справочники от таких элементов-двойников. После установки пометки удаления на них, удаление производится обычным способом, через «Удаление помеченных объектов» в разделе меню «Администрирование» - «Сервис». При больших объемах данных периодически можно проверять справочники во избежание путаницы в учете и захламления информационной базы ненужными элементами.
Читайте также: