Имя: Пароль:
JOB
Работа
Изменение реквизита документа при обмене в РИБ
0 misharkina
 
18.12.12
14:52
Ситуация следующая: имеется распределенная база 1С УТ 10.3.
В центре создаются документы Поступление товаров и услуг. Надо, чтобы при выгрузке этих документов в базы магазинов контрагент подменялся на "Основной контрагент" (предопределенный элемент справочника контрагенты), а в ТЧ цена товаров заменялась на 1 рубль с пересчетом суммы. Это выдумано для того, чтобы работники в магазинах не знали реальные закупочные цены товаров. Изменять эти документы в магазине будет нельзя.

Можно ли этот "танец с бубном" прописать в коде? И если можно, то где именно. Или в ситуации с РИБ так делать нельзя?
1 Lokli
 
18.12.12
14:56
Дешевле будет прописать показ колонок/реквизитов документа в зависимости от места просмотра.
2 Нуф-Нуф
 
18.12.12
14:57
обработка перед записью если обмен данными истина
3 Нуф-Нуф
 
18.12.12
14:57
делов на 5 мин
4 Lokli
 
18.12.12
15:02
(2)  а если переферийная база не только получатель?

Не боитесь, что в центр вернуться документы с ценой по рублю :))
5 Нуф-Нуф
 
18.12.12
15:03
(4) не сцы. не вернутся. они же будут недоступны для изменения.
6 maxar
 
18.12.12
15:04
(0) а регистры партий и прочие всякие отчеты с себестоимостью - тоже уберете у пользователей?
7 Lokli
 
18.12.12
15:04
(5) сцу, ибо могут попасть в план обмена, как изменённые.
8 Lokli
 
18.12.12
15:05
(6) на сколько я понимаю, в этом и фишка, что документ меняется и меняются данные в регистрах.
9 misharkina
 
18.12.12
15:07
Все регистры, в которых есть себестоимость, из обмена исключить. В магазине главное - чтобы были остаки и цены, а все остальное - в центральной базе
10 AlexTim03
 
18.12.12
15:08
(7) Можно вообще заблокировать изменения в ПИБах по документу - тогда не изменят.

В ЦИБ в модуле плана обмена прописать в процедуре "ПриОтправкеДанныхПодчиненному" по данным документам очищать реквизиты и передавать.
11 maxar
 
18.12.12
15:08
(9) если исключить регистры - почему бы не исключить документы поступления?
12 Lokli
 
18.12.12
15:12
А что мешает сделать обмен через правила? И тогда все ограничения можно прописать в правилах.
13 misharkina
 
18.12.12
15:15
(11) Не все регистры исключаются, а только те, в которых моячит себестоимость. ТоварыНаСкладах и т.п. остаются

(12) Про правила я тоже уже думала. Но заказчик возжелал делать это через типовой обмен между РИБ.
14 Lokli
 
18.12.12
15:20
(13) А что считать типовым: добавку правил в механизм обмена или добавку кода в план обмена? :))
15 misharkina
 
18.12.12
15:26
(14) Чтобы сделать обмен по правилам, РИБ использовать нельзя, т.к. в обмене между РИБами правил вообще нет. Соответственно, если я использую правила - я делаю новый план обмена. А заказчику нужен именно родной, УТшный обмен меджу РИБ. Остается только допиливать его.
16 alexhtn
 
18.12.12
16:54
(0) Создаешь новую подписку на событие ПередЗаписью
Если Источник.ОбмендДанными.Загрузка Тогда
Если ПланыОбмена.ГлавныйУзел() = Неопределено Тогда
Источник.Контрагент = ОсновнойКонтрагент;
КонецЕсли;
КонецЕсли;

Как-то так
17 Serg_1960
 
18.12.12
17:09
(16) Сорри, глупость подсказали.
18 Serg_1960
 
18.12.12
17:25
(0) Я не буду спрашивать зачем вообще передавать туда эти документы, если вы их... как бог черепаху...

При получении данных подчиненным узлом от главного вносятся нужные вам изменения (т.е. "на стороне" подчиненного узла).

Ещё нужно реализовать механизм "однонаправленного" обмена этих объектов с соблюдением непротиворечивости данных.

Сложно сказал? Проще - это так: при получении данных от подчиненных узлов в главном узле регистрация измений этих объектов игнорируется и вместо этого делается регистрация изменений этих объектов в главном узле.

Т.е как только объект изменят в подчиненном узле - туда вновь будет отправлен "оригинал" из главного узла - своеобразная отмена изменений и "самовосстановление" объекта.

Как-то так :)
19 alexhtn
 
18.12.12
17:46
(17) В чем глупость, если в (18) сам пишешь
При получении данных подчиненным узлом от главного вносятся нужные вам изменения (т.е. "на стороне" подчиненного узла).
20 alexhtn
 
18.12.12
17:48
В (16) ошибся.
Должно быть
ПланыОбмена.ГлавныйУзел() <> Неопределено
21 Serg_1960
 
19.12.12
00:46
(20) Вот, вот и я об этом-же. И об том, что в типовых "Обмен.Данными.Загрузка = Истина" используется не только во время обмена.
22 Stim
 
19.12.12
01:00
когда в ветке  Serg_1960 уже можно ничего не писать)
23 alexhtn
 
19.12.12
04:48
(21) Проверять тип отправителя
Если ТипЗнч(ОбменДанными.Отправитель) = Тип("ПланОбменаСсылка.---) Тогда
24 Web00001
 
19.12.12
06:07
Простите, что вмешиваюсь в такой стройный ход мыслей, но если есть условие не трогать обмены правила и тд и есть желание трогать саму конфигурацию, почему не сделать права? Определенные пользователи просто не будут видеть определенный вид цен и определенные документы. Так же проще?
25 Web00001
 
19.12.12
06:08
+(24)Если он никому не нужен, зачем вообще выгружать документ Поступление товаров и услуг?