Был неправ

Эта статья является ответом-продолжением к статье Поколение 1С. Там я привел задачи, которые не решаются на 1С. Одна из этих задач — плановые проводки на регистре. Другая задача — трехвалютный учет на 1С.

 

  Плановые проводки на регистре

Загрузить пример решения будущих проводок для SQL-версии (87Kb)
Пример проверен на 15 и 18 релизах 1С:Предприятия для SQL.

После продолжительного обсуждения, решение для SQL-версии предложил Алексей Мазуркин (Marshak_IX). Спасибо, брат. Ты крут.

Еще раз повторю: решение только для SQL-версии. На DBF версии это решение приводит к передаче всех плановых проводок по сети.

Суть решения:

  1. используются не ресурсы, а реквизиты регистра (таким образом избавляемся от стандартного механизма итогов. Нет итогов — нет проблемы с большими объемами итогов)
  2. по регистру делается запрос. Запрос должен быть как можно проще, чтобы 1С смогла сгенерировать группировку и суммирование на сервере (так избавляемся от передачи огромных данных по сети)

Хинт: в качестве даты планирования лучше использовать не справочник, а обычную дату.

Таким образом, SQL занимается суммированием всех проводок (это нормально — работа у него такая), а по сети передаются только необходимые данные.

Почему решение было найдено и почему я раньше считал, что задача неразрешима? Я искал решения для любой версии 1С. Алексей Мазуркин предложил решение для практически значимой для данной задачи версии. Я согласен с Алексеем, если перед предприятием стоит нормальная (не игрушечная) задача планирования, то у предприятия наверняка достаточно большой объем фактических данных и использование SQL версии очень оправдано.

 

  Трехвалютный учет в 1С

Загрузить пример решения, который прислал alex8r (92Kb)

После выхода статьи Поколение 1С было несколько писем, в которых обсуждалась проблема трехвалютного учета в 1С. Работающий пример прислал axex8r.

Суть решения:

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

Практически есть только ограничение: когда вводятся проводки в корпоративный план счетов, то проводка БЕЗ валюты означает проводку в РУБЛЯХ, а не проводку в КОРПОРАТИВНОЙ валюте, а для корпоративной суммы валюту указывать ОБЯЗАТЕЛЬНО. Для того, чтобы обеспечить это ограничение, необходимо сделать соответствующие проверки в коде и обучить пользователей. Кроме того, alex8r изменил термин — вместо рублевый эквивалент он использует термин "валюта бухгалтерского учета".

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

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

Пока не готов исследовать какие еще побочные эффекты появятся... alex8r уверяет, что их не будет.

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

 

Огромное спасибо всем, кто принял участие в обсуждении и в создании работающих примеров. Отдельное спасибо Алексею Мазуркину (Marshak_IX) и alex8r.

 

Буду рад Вашим замечаниям и предложениям.
Мазуркин Сергей, mazzy@mazzy.ru

Rambler's Top100 Рейтинг@Mail.ru
Телефон: (095) 937-72-84
Адрес для связи: Мазуркин Сергей mazzy@mazzy.ru
Вся контактная информация