|
УРБД в 8-ке. Несколько вопросов | ☑ | ||
---|---|---|---|---|
0
Джордж1
01.04.13
✎
15:00
|
Базы не одинаковые
1. Можно ли сделать что бы элемент справочника включался в обмен в зависимости от определенного реквизита 2. Можно ли сделать что бы в подчиненный узел передавать только остатки по определенным складам, без документов движений? |
|||
1
Анатолий Никитин
01.04.13
✎
15:01
|
можно
|
|||
2
Джордж1
01.04.13
✎
15:22
|
А во втором случае что в подчиненную базу будет передаваться?
|
|||
3
drcrasher
01.04.13
✎
15:23
|
(2) только остатки по определенным складам
|
|||
4
Джордж1
01.04.13
✎
15:26
|
(3)остатки регистров???
|
|||
5
Serg_1960
01.04.13
✎
15:29
|
1) Да. В типовых есть "анналогичное" для документов - обмен "по организациям"- документ идет в обмен по значению реквизита.
2) Это ни есть хорошо, но... в принципе можно. Погугли на Мисте "регистр без регистраторов". PS: "Базы не одинаковые" - это ни о чём информация. Конфигурации различны или состав/данные различны? Если конфигурации "идентичные" - то используется термин "РИБ" - это не совсем "УРБД" :) |
|||
6
Джордж1
01.04.13
✎
15:41
|
(5)конфигурации различны. центральная база + магазины
|
|||
7
ale-sarin
01.04.13
✎
15:43
|
(6) Это уже и не УРБД тогда, так-то.
|
|||
8
Джордж1
01.04.13
✎
15:45
|
(7)ну как тогда механизм обмена в 8-ке называют?
|
|||
9
revision
01.04.13
✎
15:46
|
(6) это не УРБД.
Тебе нужен обмен по правилам |
|||
10
ale-sarin
01.04.13
✎
15:47
|
(8) И не РИБ.
А просто обмен между базами с разными конфами. Тогда что угодно можно сделать. Например, правила написать свои... |
|||
11
revision
01.04.13
✎
15:48
|
(8) это обмен по правилам обмена. если используешь типовой обмен - типа Бух--УТ - то надо править правила.
Если не типовой, но кем то написанный - то все равно править. Иначе - писать свои. Указываешь в правилах в каком случае передавать объект. если опыта нет - лучше попросить кого то. но там не особо сложно - руку надо набить |
|||
12
Джордж1
01.04.13
✎
15:48
|
(9)На сколько эти правила гибки и. И как можно перенести остатки регистров без движений.
(10)Ну я так уже и написал, правда в 7-ке, может в 8-ке это можно сделать более штатными средствами |
|||
13
revision
01.04.13
✎
15:49
|
(12) я не знаю что у тебя за обмен - по каким он правилам - ОЧЕНЬ гибки - можешь просто перенести остатки - не сложно - запрос и формируешь выгрузку в таблицу исходящую
|
|||
14
revision
01.04.13
✎
15:51
|
перенос остатков - по бстрому:
1. создаешь в конвертации объект источник - тот документ куда переносить. Объект источник - не указываешь. 2. в правилах выгрузки - формируешь запрос и виртуальную таблицу |
|||
15
Джордж1
01.04.13
✎
15:51
|
(13)а дальше чего с этими остатками делать в магазине?
|
|||
16
revision
01.04.13
✎
15:52
|
пример моего быдлокода - быстро сказали выгрузить 97 счет
//ТекстЗапроса = Запросы.Запрос_Остатки97Счета.Текст; //Запрос = Новый Запрос(ТекстЗапроса); //Запрос.УстановитьПараметр("ДатаОстатков", '20130228235959'); //РезультатЗапроса = Запрос.Выполнить(); //Если РезультатЗапроса.Пустой() Тогда // Отказ = Истина //КонецЕсли; // Структура документа ТабДок = Новый ТаблицаЗначений; ТабДок.Колонки.Добавить("ДатаДок"); ТабДок.Колонки.Добавить("Комментарий"); ТабДок.Колонки.Добавить("ПометкаУдаления"); ТабДок.Колонки.Добавить("Хозрасчетный"); НоваяСтрока = ТабДок.Добавить(); НоваяСтрока.ДатаДок = '20130228235959'; НоваяСтрока.ПометкаУдаления = Ложь; НоваяСтрока.Хозрасчетный = Новый ТаблицаЗначений; Хозрасчетный = НоваяСтрока.Хозрасчетный; Хозрасчетный.Колонки.Добавить("Активность"); Хозрасчетный.Колонки.Добавить("Организация"); Хозрасчетный.Колонки.Добавить("Период"); //Хозрасчетный.Колонки.Добавить("Регистратор"); Хозрасчетный.Колонки.Добавить("СчетДт"); Хозрасчетный.Колонки.Добавить("СчетКт"); //Хозрасчетный.Колонки.Добавить("ВалютаДт"); //Хозрасчетный.Колонки.Добавить("ВалютаКт"); //Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаДт"); //Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаКт"); //Хозрасчетный.Колонки.Добавить("КоличествоДт"); //Хозрасчетный.Колонки.Добавить("КоличествоКт"); Хозрасчетный.Колонки.Добавить("Сумма"); Хозрасчетный.Колонки.Добавить("Содержание"); Хозрасчетный.Колонки.Добавить("СубконтоДт"); Хозрасчетный.Колонки.Добавить("СубконтоКт"); //Хозрасчетный.Колонки.Добавить("ВидРегламентнойОперации"); //Хозрасчетный.Колонки.Добавить("СписаниеПартий"); //Хозрасчетный.Колонки.Добавить("ДатаЗаписи"); //Хозрасчетный.Колонки.Добавить("НДСПродукции"); //Хозрасчетный.Колонки.Добавить("НомерЖурнала"); Хозрасчетный.Колонки.Добавить("ИмяПКО"); Хозрасчетный.Колонки.Добавить("ИмяПКОСубконтоДт"); Хозрасчетный.Колонки.Добавить("ИмяПКОСубконтоКт"); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаОстатков", '20130228235959'); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.РасходыБудущихПериодов); Запрос.Текст = " |ВЫБРАТЬ | ИСТИНА КАК Активность, | &ДатаОстатков КАК Период, | ХозрасчетныйОстатки.Счет КАК СчетДт, | ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Вспомогательный) КАК СчетКт, | ХозрасчетныйОстатки.Субконто1 КАК СубконтоДт1, | ХозрасчетныйОстатки.Субконто2 КАК СубконтоДт2, | ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РасходыБудущихПериодов)КАК ВидСубконтоДт1, | ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций)КАК ВидСубконтоДт2, | ХозрасчетныйОстатки.Организация, //| ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.СуммаОстаток КАК Сумма |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков) КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.Счет В ИЕРАРХИИ(&Счет) |"; Результат = Запрос.Выполнить().Выгрузить(); Результат.Колонки.Добавить("СубконтоДт", Новый ОписаниеТипов("РегистрБухгалтерииСубконто.Хозрасчетный")); Результат.Колонки.Добавить("СубконтоКт", Новый ОписаниеТипов("РегистрБухгалтерииСубконто.Хозрасчетный")); Результат.Колонки.Добавить("ИмяПКОСубконтоДт"); Результат.Колонки.Добавить("ИмяПКОСубконтоКт"); Для Каждого СтрокаТаблицы Из Результат Цикл ИмяПКОСубконтоДт = "ВидыСубконтоХозрасчетные"; ИмяПКОСубконтоКт = "ВидыСубконтоХозрасчетные"; // Для к = 1 по 3 Цикл Для к = 1 по 2 Цикл Если ЗначениеЗаполнено(СтрокаТаблицы["ВидСубконтоДт" + к]) Тогда // СтрокаТаблицы.СубконтоДт.Вставить(СтрокаТаблицы["ВидСубконтоДт" + к], СтрокаТаблицы["СубконтоДт" + к]); СтрокаТаблицы.СубконтоДт.Вставить(СтрокаТаблицы["ВидСубконтоДт" + к], СтрокаТаблицы["СубконтоДт" + к]); КонецЕсли; // Если ЗначениеЗаполнено(СтрокаТаблицы["ВидСубконтоКт" + к]) Тогда // СтрокаТаблицы.СубконтоКт.Вставить(СтрокаТаблицы["ВидСубконтоКт" + к], СтрокаТаблицы["СубконтоКт" + к]); // КонецЕсли; КонецЦикла; СтрокаТаблицы.ИмяПКОСубконтоДт = ИмяПКОСубконтоДт; СтрокаТаблицы.ИмяПКОСубконтоКт = ИмяПКОСубконтоКт; КонецЦикла; //Для к = 1 по 3 Цикл Для к = 1 по 2 Цикл Результат.Колонки.Удалить("ВидСубконтоДт" + к); Результат.Колонки.Удалить("СубконтоДт" + к); // Результат.Колонки.Удалить("ВидСубконтоКт" + к); // Результат.Колонки.Удалить("СубконтоКт" + к); КонецЦикла; Для Каждого СтрокаТаблицы Из Результат Цикл НоваяСтрока = Хозрасчетный.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы); КонецЦикла; ВыборкаДанных = ТабДок; |
|||
17
revision
01.04.13
✎
15:52
|
обрати внимание - на последнюю строку:
ВыборкаДанных = ТабДок; Это я передаю виртуальный входящий источник данных |
|||
18
revision
01.04.13
✎
15:53
|
(15)выгружаешь и загружаешь через универсальный обмен.
Если напрячся - можно засунуть в План обмена свой и подключить расписание. и забыть о заботах |
|||
19
Джордж1
01.04.13
✎
15:55
|
(18)универсальные обмены не рассматриваю - проще свое написать.
Все равно не понимаю - в базе приемнике эти данные как будут учитываться? Как движения, или прямо остатки загрузит |
|||
20
revision
01.04.13
✎
15:57
|
(19)а вот ЗРЯ универсальный обмен не расматриваешь!
Можно в план обмена подпихнуть вызов универсального обмена - а тому правила! во как! быстро и проверено! |
|||
21
revision
01.04.13
✎
15:58
|
(19)в приемнике - как хочешь - так и будут -я наприер в УПП в корректировку записей регистров передаю. в Бух 30-в Операцию бух.
а как ты еще хочешь остатки перенести? |
|||
22
Джордж1
01.04.13
✎
15:58
|
(0)конфигурация все равно самописные. Сейчас на 7-ке. Весь обмен ручками (т.е. без использования механизмов торговли).
// При этом в магазинной базе есть только актуальные остатки |
|||
23
Джордж1
01.04.13
✎
15:59
|
(21)у меня остатки передаются из центральной базы
|
|||
24
revision
01.04.13
✎
15:59
|
(20)по сути план нужен для управления обменом - регистрации изменений и планировщика, монитора обмена. не более.
Весь обмен через правила идет |
|||
25
Джордж1
01.04.13
✎
15:59
|
(+23)Не движения, а именно остатки. И хранятся они в справочнике
|
|||
26
revision
01.04.13
✎
16:01
|
(23),(25) хранить остатки в справочнике....
хм... оригинально! очень! Да пох! храни в справочник - объект приемник - справочник |
|||
27
Джордж1
01.04.13
✎
16:02
|
(26)ну а почему бы и нет. остатки нужны только актуальные.
|
|||
28
revision
01.04.13
✎
16:02
|
у тебя есть источник - твоя таблица виртуальная из запроса. а приемник - что хочешь.
Условие одно - имена полей источника и приемника должны совпадать |
|||
29
Джордж1
01.04.13
✎
16:03
|
Для моей задачи проще вручную все написать
|
|||
30
revision
01.04.13
✎
16:04
|
короче писать долго.
1. берешь КД. 2. объект приемник - твой справочник остатков. 3. обект источник - нету 4. привила выгрузки указываешь - получение данных запросом и формируешь виртуальную таблицу выгрузки, где имена этой таблицы источника совпадают с приемником |
|||
31
revision
01.04.13
✎
16:04
|
(29)вы еще скажите через ДБФ - надо вам отходить от 1с77. ))))
|
|||
32
revision
01.04.13
✎
16:05
|
+(30)а программа сама разберется куда и что писать
|
|||
33
Джордж1
01.04.13
✎
16:08
|
Да чего там программа разберется. дело не в дбф.
|
|||
34
hhhh
01.04.13
✎
16:43
|
(33) похоже вам надо не париться, а сделать одинаковую конфу в центре и в магазинах. И сделать обычную РИБ. Зачем вам разные конфы?
|
|||
35
Джордж1
01.04.13
✎
17:11
|
(34)Ну ты скажешь. В магазинах должно быть информации по минимуму. + Остатки там нужны в списке в реальном времени.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |