Имя: Пароль:
1C
1С v8
Разделение данных (Фреш)
,
0 Vadimugatu
 
22.08.17
08:23
Всем привет!!
Платформа: 8.3.9.2233
Возникла необходимость внедрить технологию 1С Фреш, ибо очень много однотипных баз.
При внедрении возникла следующая проблема:
в конфигурациях были созданы рег задания, которые обращаются напрямую к таблицам, например
Выбрать * ИЗ Справочники.Организации.
До применения разделения данных, такой запрос отрабатывает естественно без ошибок. После применения разделения данных, чтобы этот запрос отрабатывал нормально, необходимо зайди в базу под разделителем.

Сами рег. задания в составе разделителя могут принимать два значения: Использовать и Не использовать.
В типовой бухгалтерии большинство регзаданий в свойствах разделителя установлены в "НЕ использовать". Как я понял, это значит что эти регзадания при таких настройках будут отрабатывать как привычные всем регзадания (т.е. независимо от параметров текущих сеансов и т.д.) - но в таком случае допиленное регзадание обращается к таблицам, по которым работаю разделитель, - в результате будет ошибка.
Если же установить свойство в "Использовать" то такое регзадание будет "видеть" только свою область, т.е. ошибки получения данных по которым работает разделение - не будет. Но, как выяснилось, и выполняться оно будет только при входе пользователя в БД под областью (т.е. по сути будет порождаться фоновое задание), в этом случае само свойство регзаданий теряется.

Подскажите, что можно в данном случае сделать?
1 FIXXXL
 
22.08.17
08:41
у рег.задания назначить пользователя, под которым стартовать?
2 Vadimugatu
 
22.08.17
08:44
не совсем понял, а что это даст?
3 rphosts
 
22.08.17
08:55
(0)Были созданы? Ну так возьми и перепиши с учетом изоляции данных по разделителю
4 Vadimugatu
 
22.08.17
09:04
Да, но типовой разделитель в бухгалтерии работает в режиме "Независимо", изменение в режим "Независимо и совместно" при котором можно "видеть" другие области, влечет за собой изменение многих типовых объектов. Для последующих обнолвений это не очень хорошо.
5 mistеr
 
22.08.17
09:41
(4) То есть вы хотите, с одной стороны, строгое разделение, а с другой стороны, чтобы регзадания имели доступ ко всем данным?

По-моему, так не получится.
6 Vadimugatu
 
22.08.17
09:46
Ну либо как то выкрутиться. Можно ли что то придумать?
7 mistеr
 
22.08.17
10:10
(6) Напиши в поддержку. Настоящий Фреш как-то работает, значит решение в типовых есть.
8 mistеr
 
22.08.17
10:11
Скорее всего решение в том, чтобы каждое регзадание обрабатывало свою часть данных.
9 Вафель
 
22.08.17
10:14
Вроде у 1с что-то специальное под фреш есть.
Или типовая бухия тоже работает?
10 GANR
 
22.08.17
10:39
(0) а как же типовые регл. задания работают?
11 Vadimugatu
 
22.08.17
12:12
(8) по идеи так и должно быть.
(9) - да типовую бухию можно во фреш загнать, также и другие основные коробки.
(10) Разбираюсь с этим, но такое чувство, что типовые регзадания не обращаются к разделенным данным. Т.е. это загрузка курсов валют и т.д. (данные однотипны для разрегу по организации к примеру), что к разделению ни как не относится.
12 mistеr
 
22.08.17
15:53
(11) А что делают твои задания?
13 Вафель
 
22.08.17
15:54
а закрытие месяца например?
14 GANR
 
23.08.17
14:56
(11) да!? а я то и дело вижу, что идут запросы к таблицам у которых разделение включено
15 Vadimugatu
 
23.08.17
16:03
(12) Ну если вкратце, то это некий обмен с другими БД.

(14) Да действительно, увидел в типовых регзаданиях. Как это делается:

Использование регзадания в составе разделителя должно быть "не использовать".
В этом случае мы можем видеть наше регзадание в обработках по управлению заданиями (консоль заданий или через все функции), соответственно и назначать расписание, включать/выключать.
Управление регзаданиями возможно только под неразделенными данными.
Такое регзадание будет выполнятся под фоновым сеансом с неразделенными данными, но ПЕРЕД обращением к таблицам (по которым есть разделение) нужно текущий сеанс закинуть в разделенную область:

ОбщегоНазначения.УстановитьРазделениеСеанса(Истина, Выборка.ОбластьДанных);

где Выборка.ОбластьДанных это число, в типовой БП разделитель числовой. А сам запрос по областям данных возвращает просто все работающие области данных.

т.е. в итоге регзадание начинает выполняться в цикле, в начале каждого цикла мы просто для текущего фона определяем область данных.
16 Vadimugatu
 
23.08.17
16:06
Появился новый вопрос, как добавить внешнюю обработку/отчет в пользовательскую базу?
кто-нибудь сталкивался с технологией разворачивания 1С Фреш? Уже все перечитал, но инфы по фрешу крайне мало. В документации 1С по фрешу такой информации не нашел.
17 Вафель
 
23.08.17
16:17
(16) Одну для всех вроде как нельзя
18 AndreyLan
 
23.08.17
16:19
Должна быть информация в документации к "Технология публикации решений 1cFresh"
Основная теорема систематики: Новые системы плодят новые проблемы.