Версия для печати темы (https://pro1c.org.ua/index.php?s=b148c63f655fc609b2d6bf65d94ab1b2&showtopic=40362)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ В документах не устанавливается префикс РИБ подчиненной базы (филиала)

Автор: Constantus 18.09.17, 17:42

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Сразу скажу, что обмен построен на основе типового плана обмена "Полны", но с небольшими изменениями.

В филиальной базе поставил префикс "ФБ", но при создании документов выдает номерацию без этого префикса...

Слышал, что в случаях если план обмена отличается от полного, то нужно что-то допиливать....

Что мне сделать, чтобы в номер включился префикс подчиненного узла?

Автор: Constantus 23.09.17, 17:38

В Общем модуле "Полные Права" нашел процедуру, которая отвечает за ПараметрыСеанса.ИспользованиеРИБ

В запросе пробегают по "Полному" плану обмена. В этот запрос добавил свой план обмена "ПолныйФилиал":

    Запрос.Текст = "ВЫБРАТЬ
                   |    Полный.Ссылка КАК Ссылка
                   |ИЗ
                   |    ПланОбмена.Полный КАК Полный
                   |ГДЕ
                   |    Полный.Ссылка <> &ЭтотУзелПолный
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ОбменУправлениеТорговлейБухгалтерия.Ссылка КАК Ссылка,
                   |    ОбменУправлениеТорговлейБухгалтерия.ДатаНачалаВыгрузкиДокументов КАК ДатаНачалаВыгрузкиДокументов
                   |ИЗ
                   |    ПланОбмена.ОбменУправлениеТорговлейБухгалтерия КАК ОбменУправлениеТорговлейБухгалтерия
                   |ГДЕ
                   |    ОбменУправлениеТорговлейБухгалтерия.Ссылка <> &ЭтотУзелПоОрганизации
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПолныйРегионы.Ссылка
                   |ИЗ
                   |    ПланОбмена.ПолныйРегионы КАК ПолныйРегионы
                   |ГДЕ
                   |    ПолныйРегионы.Ссылка = &ЭтотУзелФилиала";

    Запрос.УстановитьПараметр("ЭтотУзелПолный", ПланыОбмена.Полный.ЭтотУзел());
    Запрос.УстановитьПараметр("ЭтотУзелФилиала", ПланыОбмена.ПолныйРегионы.ЭтотУзел());



Запрос.УстановитьПараметр("ЭтотУзелФилиала", ПланыОбмена.ПолныйРегионы.ЭтотУзел()) - проверка на наличие моего плана обмена.

Далее есть код, который в случае наличия Узла Плана обмена присваивает Сеансу ложь или истина по использованию РИБ
Внес свои изменения:

    МассивРезультатЗапроса = Запрос.ВыполнитьПакет();
    РезультатЗапросаИспользованиеРИБ = МассивРезультатЗапроса[0];
    РезультатЗапросаИспользованиеРИБ1 = МассивРезультатЗапроса[2];

    ПараметрыСеанса.ИспользованиеРИБ = НЕ РезультатЗапросаИспользованиеРИБ.Пустой();
    ПараметрыСеанса.ИспользованиеРИБ = НЕ РезультатЗапросаИспользованиеРИБ1.Пустой();


Код получился совсем не универсальным, т.к. в случае Работы в режиме с Полным планом обмена (на другой филиальной базе, где используется полный обмен) параметр сеанса уйдет в ЛОЖЬ, т.к. ПараметрыСеанса.ИспользованиеРИБ = НЕ РезультатЗапросаИспользованиеРИБ1.Пустой() = ЛОЖЬ.

Применив этот код на филиальной базе, нумерация документов стала работать как положена: "ПрефиксФилиала" + "ПрефиксОрганизации" + цифры...

1. Как правильно таки сделать механизм присвоения номеров для подчиненных узлов в случае работы с нетиповыми планами обмена"?
2. Может есть более простой код, который позволит наладить номерацию документов?


Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua