Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 06:03
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Нужно знать!!! Стоит ли добавлять свои ресурсы в типовые регистры сведений???  (Прочитано 2321 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С


До недавних пор я считал, что добавление “своих” ресурсов в типовой регистр сведений (при совпадении измерений и при логической совместимости добавляемого ресурса и регистра сведений) является правилом хорошего тона. По крайней мере, так меня учили в Учебном Центре 3 при фирме 1С.

Но недавно жизнь заставила внести коррективы в эту точку зрения.

Всё началось после обновления 1С Зарплаты и управления персоналом, кажется, версии 2.5.16 на версию 2.5.19.

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

Нет, сами шаблоны не пропали – была только очищена ссылка на шаблон. Равно как и было очищено число выплаты аванса (которое также было мной добавлено в регистр сведений Учётная политика по персоналу организации в качестве ресурса).

Я засомневался. Полез в код, и в обработке обновления информационной базы обнаружил там следующее, что повергло меня в лёгкий шок :

// Процедура заполняет порядок списания фактических отпусков в учетной политике по персоналу
//
Процедура ЗаполнитьПорядокСписанияФактическихОтпусков() Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| УчетнаяПолитикаПоПерсоналуОрганизаций.Организация КАК Организация,
| УчетнаяПолитикаПоПерсоналуОрганизаций.ПроверкаШтатногоРасписания,
| УчетнаяПолитикаПоПерсоналуОрганизаций.ЕдиныйНумераторКадровыхДокументов,
| УчетнаяПолитикаПоПерсоналуОрганизаций.ПоказыватьТабельныеНомераВДокументах,
| УчетнаяПолитикаПоПерсоналуОрганизаций.ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах
|ПОМЕСТИТЬ ВТ_Организации
|ИЗ
| РегистрСведений.УчетнаяПолитикаПоПерсоналуОрганизаций КАК УчетнаяПолитикаПоПерсоналуОрганизаций
|ГДЕ
| УчетнаяПолитикаПоПерсоналуОрганизаций.ПорядокСписанияФактическихОтпусков = ЗНАЧЕНИЕ(Перечисление.ПорядокСписанияФактическихОтпусков.ПустаяСсылка)
|
|ИНДЕКСИРОВАТЬ ПО
| Организация
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР
| КОГДА Док.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| ТОГДА Док.Организация
| ИНАЧЕ Док.Организация.ГоловнаяОрганизация
| КОНЕЦ КАК Организация
|ПОМЕСТИТЬ ВТ_Документы
|ИЗ
| Документ.НачислениеОтпускаРаботникамОрганизаций КАК Док
|ГДЕ
| Док.Проведен
| И Док.Организация В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВТОрганизации.Организация
| ИЗ
| ВТ_Организации КАК ВТОрганизации)
|
|ИНДЕКСИРОВАТЬ ПО
| Организация
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_Организации.Организация,
| ВЫБОР
| КОГДА ВТ_Документы.Организация ЕСТЬ NULL
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ПорядокСписанияФактическихОтпусков.КадровымиПриказами)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ПорядокСписанияФактическихОтпусков.РасчетнымиДокументами)
| КОНЕЦ КАК ПорядокСписанияФактическихОтпусков,
| ВТ_Организации.ПроверкаШтатногоРасписания,
| ВТ_Организации.ЕдиныйНумераторКадровыхДокументов,
| ВТ_Организации.ПоказыватьТабельныеНомераВДокументах,
| ВТ_Организации.ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах
|ИЗ
| ВТ_Организации КАК ВТ_Организации
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Документы КАК ВТ_Документы
| ПО ВТ_Организации.Организация = ВТ_Документы.Организация";
НаборЗаписей = РегистрыСведений.УчетнаяПолитикаПоПерсоналуОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.ОбменДанными.Загрузка = Истина;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей.Отбор.Организация.Установить(Выборка.Организация);
ЗаполнитьЗначенияСвойств(НаборЗаписей.Добавить(), Выборка);
НаборЗаписей.Записать();
НаборЗаписей.Очистить();
КонецЦикла;
КонецПроцедуры

Несколько необычно для процедуры ЗаполнитьПорядокСписанияФактическихОтпусков() наличие у неё побочного эффекта : очистка всех ресурсов регистра сведений, которые явно не поименованы в запросе.

Но мои сомнения окончательно развеялись, когда я понял, что при изменении учётной политики по персоналу (Обработка.НастройкаПараметровУчета.Модуль объекта) снова происходит очистка всех ресурсов регистра сведений, добавленных сторонним разработчиком :

НаборЗаписей = РегистрыСведений.УчетнаяПолитикаПоПерсоналуОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Организация.Установить(Организация);
НоваяЗапись = НаборЗаписей.Добавить();
ЗаполнитьЗначенияСвойств(НоваяЗапись, ФормаОбработки.мУчетнаяПолитикаПоПерсоналуОрганизаций);
НоваяЗапись.Организация = Организация;

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

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


---------------------------
Ссылка на оригинал http://mainboard.net.ru/2010/09/80/


Теги:
 

Отличие проводки по регистру сведений от проводки по регистру накопления?

Автор DirecTwiXРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4837
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7734
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9327
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
В чем отличие регистра сведений от регистра накопления?

Автор Dmitry QweРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 480
Последний ответ 11 Сен 2017, 10:50
от ilyay
Проверка на "новую" запись в рег. сведений

Автор nomer13Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 14309
Последний ответ 11 Янв 2011, 10:04
от nomer13

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 271
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal