Как восстановить контрагента в 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С Контрагент». При этом:

    Данные заполнятся по ИНН или наименованию контрагента автоматически, без ошибок;

Рис.8 Данные заполнятся по ИНН или наименованию контрагента

Рис.8 Данные заполнятся по ИНН или наименованию контрагента

*Если ИНН выделен красным цветом, Контрагент отсутствует в базе ФНС.

При создании контрагента и заполнении карточки в ручном режиме пользователь должен заполнить все основные поля…

…указать «Вид контрагента» и в выпавшем списке выбрать одно из значений:

  • Юридическое лицо;
  • Физическое лицо;
  • Обособленное подразделение;
  • Государственный орган.

В зависимости от выбранного вида контрагента будет изменяться табличная часть документа и поля обязательные для заполнения.

В карточке контрагента имеется функционал «Справки 1СПАРК Риски», который помогает быть в курсе изменений у ваших контрагентов и клиентов: сервис каждый день дает информацию о банкротстве, ликвидации, планах по реорганизации, изменении юридического адреса и руководителя. Сервис помогает отслеживать изменения, использует различные источники информации, включая ЕГРЮЛ и Единый федеральный реестр сведений о фактах деятельности юридических лиц.

Данная опция работает только в случае подключения 1СПАРК Риски.

Непосредственно в карточке контрагента мы можем создать банковский счет. Для этого выбираем «Банковские счета»-«Создать».

В открывшейся карточке заполняем такие обязательные для заполнения поля, как банк, номер счета, валюту. Если платежи проводятся через корреспондентский счет, открытый в другом банке, необходимо указать банк для расчетов. Если расчетный счет используется для расчетов по контрагенту государственного заказа, необходимо указать «Государственный контракт».

Также можно настроить вывод необходимой информации в платежных поручениях и требованиях. В данной настройке можно прописать:

  • Наименование контрагента, которое будет выводиться в поле «Получатель» платежного поручения или в поле «Плательщик» в платежном требовании;
  • Обозначить, где будет указываться КПП контрагента (только в платежных поручениях в бюджет или во всех платежных поручениях);
  • Написать текст, который будет автоматически выводиться в назначении платежа при создании нового платежного поручения.

В закладке «Банковские счета» контрагента можно создать множество расчетных счетов, при этом можно указать один из нескольких р/сч «Использовать как основной». При формировании документа списание с расчетного счета в платежном поручении «Основной расчетный счет» будет заполняться по умолчанию.

В карточке контрагента можно сразу создать документ «Договоры». Для этого выбираем «Договоры»-«Создать».

В открывшейся карточке заполняем вид договора:

  • С поставщиком;
  • С покупателем;
  • С комитентом(принципалом) на продажу;
  • С комитентом(принципалом) на закупку;
  • С комиссионером (агентом) на закупку;
  • С факторинговой компанией;
  • пр.

Заполняем поля «Номер договора» и «Дата». При этом наименование программа заполняет автоматически, ориентируясь на информацию из этих полей. Прописываем организацию, с которой данный контрагент заключает договор.

К договору пользователь может присоединить файлы в любом формате.

Присоединенные файлы можно просматривать, редактировать (каждая версия отредактированного файла храниться в 1С 8.3, где при необходимости их можно просмотреть, когда, в какое время, а также какой пользователь редактировал прикрепленный файл), распечатывать документ.

Важно помнить, что, после того как пользователь отредактировал прикрепленный файл, файл необходимо освободить от редактирования через «Еще»-«Завершить редактирование».

В закладке «Договоры» контрагента можно создать множество элементов договоров, при этом можно указать один из нескольких «Использовать как основной». При формировании документов в программе договор будет заполняться по умолчанию.

В карточке контрагента существует возможность сохранять историю изменения полей «Полное наименование» и «КПП». Если у контрагента изменился «КПП» или «Полное наименование» необходимо в «Истории» внести дату и новое значение. После внесения изменений в программу данные во всех документах до указанной даты в истории будут брать значение начального реквизита, а в документах, начиная с даты нового значения, будет указываться новое значение реквизита.

Рис.23 История изменения полей «Полное наименование» и «КПП»

Рис.23 История изменения полей «Полное наименование» и «КПП»

В карточке «Контрагент» есть возможность просмотреть все документы, в которых указан текущий контрагент, его расчетные счета, договора. Для этого выбираем «Документы». В открывшемся списке отобразятся все документы контрагентов, которые при необходимости можно отсортировать по договору или организации. У пользователя есть возможность просмотреть проводки по интересующему документу, выбрав интересующий документ и нажав значок «Показать проводки и другие движения документа» (Дт/Кт).

В заключение рассмотрим функционал, предусмотренный для удобства рассылки писем контрагентам.

В 1С 8.3 есть возможность настроить и распечатать конверт, с заполненными автоматом адресными строками и индексом.

Рис.26 Конверт, с заполненными автоматом адресными строками и индексом

Рис.26 Конверт, с заполненными автоматом адресными строками и индексом

Пользователю предлагается выбрать вариант заполнения адреса контрагента-получателя:

  • Почтовый;
  • Юридический;
  • Фактический.

Адрес заполнится автоматически из карточки контрагента.

Также можно выбрать один из трех вариантов формата конверта и вывести на печать логотип организации (загрузить логотип организации можно в реквизитах организации в, разделе «Логотип и печать»).

Анна Викулина

При работе с программой 1С может так случиться, что пользователь по ошибке вносит одинаковые элементы в справочники программы. Это создает неудобства в работе и путаницу в данных. Чаще всего подобные накладки случаются со справочниками «Контрагенты» и «Номенклатура». Они достаточно объемные, поэтому в них могут и кроются такие недочеты.

В результате пересортицы пользователь может в одном документе выбрать один элемент, например, контрагента, а в другом – другой элемент справочника. Такая ситуация может возникнуть, когда в базе работают несколько пользователей: не найдя нужный, заводится новый, создавая тем самым дубли.

Для поиска и удаления дублей, в программе 1С Бухгалтерия 8.3 предусмотрена одноименная обработка. Рассмотрим принцип ее работы.

Обработка поиск и удаление дублей

Открыть обработку можно в разделе меню «Администрирование» - «Обслуживание» перейдя по гиперссылке «Поиск и удаление дублей».

В открывшемся окне необходимо указать область поиска, заполнив поле «Искать в:».

Из предложенного списка выбираем нужную область поиска дублей. В нашем примере проверим сначала справочник «Контрагенты».

Перейдя по гиперссылке в поле «Сравнить», задаем правила поиска дублей для выбранного объекта. По умолчанию установлен поиск по наименованию – по схожим словам. Но пользователь может написать разные наименования, например, полное и сокращенное – ИП или Индивидуальный предприниматель, полные данные контрагента (физического лица) – фамилию, имя, отчество, или указать только инициалы.

В этом случае можно сопоставить элементы по каким-то другим реквизитам. Для справочника «Контрагенты» – это ИНН, КПП, для справочника «Номенклатура» – Артикул и т.п.

После того как условия поиска заданы, нажимаем кнопку «Найти дубли». Программа автоматически составит список из повторяющихся элементов. Выделив элемент в правом окне, видим, что слева отобразилась информация, где он был использован. Рядом с элементом указано количество объектов, где он задействован.

Элемент с наибольшим количеством записей программа автоматически определяет как оригинал, выделив его синей стрелочкой. Если какой-то из объектов мы обрабатывать не будем, галочку с него надо снять. Или если мы хотим изменить объект, на который будут перенесены все данные с другого объекта при его удалении, то отметим его, нажав кнопку «Отметить как оригинал».

После нажатия кнопки «Удалить дубли» программа перенесет все объекты, где был задействован элемент-двойник, на отмеченный объект-оригинал, тем самым объединив их.

Мы можем закрыть обработку или, нажав кнопку «Новый поиск», повторить поиск дулей в других местах программы.

Для примера найдем дубли элементов в справочнике «Номенклатура», проведя сравнение по артикулу и наименованию.

Рис.8 Поиск и удаление дублей в списках номенклатуры

Рис.8 Поиск и удаление дублей в списках номенклатуры

Аналогично предыдущему описанию ищем и удаляем дубли.

Посмотрим, что же происходит с ними в справочнике. Зайдем в справочник «Контрагенты» (раздел меню «Справочники» - «Покупки и продажи»). Дубль-двойник помечен на удаление. Помимо этого мы видим, что контрагент был внесен дважды, но с разным наименованием. Внимательный пользователь бы заметил, что ИНН у элемента двойника выделен красным цветом. В программе имеется контроль совпадений контрагентов по ИНН.

Перейдя в справочник «Номенклатура» (раздел меню «Справочники» - «Покупки и продажа»), выполним поиск по наименованию, т.к. зрительно похожее название почему-то не отображалось. Что мы видим? У одного из элементов справочника перед названием стоит пробел – именно поэтому пользователь не может увидеть этот элемент в списке, просматривая его в алфавитном порядке. Все символы идут обычно в начале списка. Не найдя этот элемент, пользователь создал новый. Такая ситуация встречается довольно часто.

Так, используя штатный функционал программы, можно очистить справочники от таких элементов-двойников. После установки пометки удаления на них, удаление производится обычным способом, через «Удаление помеченных объектов» в разделе меню «Администрирование» - «Сервис». При больших объемах данных периодически можно проверять справочники во избежание путаницы в учете и захламления информационной базы ненужными элементами.

Читайте также: