|
|
Конвертация данных 2. Источник пустой --> Справочник. |
☑ |
|
0
tabarigen
09.04.16
✎
17:11
|
Всем привет.
Подскажите пожалуйста как заполнять ПКС. Хочу в ПКС установить значение в базе приемнике.
В ПКС в событии после выгрузки пишу
Значение = Справочники.Склады.НайтиПоНаименованию("МойСклад");
Не помогает.
И еще будет ли срабатывать правило в ПКС если оно подчинено ПКГС, идля ПКГС стоит галочка получать из входящих данных.
Подробнее на скрине.
|
|
|
1
mingw
09.04.16
✎
17:32
|
"После выгрузки" отработает в базе источнике "после выгрузки".
Может нужно "перед загрузкой"? В базе получателе?
|
|
|
2
Naumov
09.04.16
✎
18:09
|
(0) Скажи что затеил, дадут более точный отчет что и как сделать
|
|
|
3
tabarigen
09.04.16
✎
20:16
|
(2) затеял перенос отстатков. По примеру демоконфигурации заполняю документ корректировка регистров.
В отличии от демо примера, у меня немного другая структура регистра. Помимо количество и номенклатуры также нужно заполнить измерение склад. Вот его то и хочу заполнить.
Исходящие данные заполняю так.
Запрос = Новый запрос();
Запрос.текст = "ВЫБРАТЬ
| ОстаткиТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ОстаткиТоваровНаСкладахОстатки.КоличествоОстаток КАК Количество
| ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки КАК ОстаткиТоваровНаСкладахОстатки";
Выборка = запрос.Выполнить().Выбрать();
ТоварыНаСкладах = Новый ТаблицаЗначений();
ТоварыНаСкладах.Колонки.Добавить("Номенклатура");
ТоварыНаСкладах.Колонки.Добавить("Количество");
ТоварыНаСкладах.Колонки.Добавить("Период");
ДатаВыгрузки = ТекущаяДата();
Пока Выборка.Следующий() Цикл
СтрокаТоваров = ТоварыНаСкладах.Добавить();
СтрокаТоваров.Номенклатура = Выборка.Номенклатура;
СтрокаТоваров.Количество = Выборка.Количество;
СтрокаТоваров.Период = ДатаВыгрузки;
КонецЦикла;
ТаблицаИменРегистров = Новый ТаблицаЗначений();
ТаблицаИменРегистров.Колонки.Добавить("Имя");
СтрокаТаблицы = ТаблицаИменРегистров.Добавить();
СтрокаТаблицы.Имя = "ТоварыНаСкладах";
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Номер", "005");
ИсходящиеДанные.Вставить("Дата", ДатаВыгрузки);
ИсходящиеДанные.Вставить("Комментарий", "Перенос остатков товаров на " + Строка(ДатаВыгрузки));
ИсходящиеДанные.Вставить("ТаблицаРегистров", ТаблицаИменРегистров);
ИсходящиеДанные.Вставить("ТоварыНаСкладах", ТоварыНаСкладах);
ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "КорректировкаРегистров");
Во входящих данных хочу самостоятельно заполнить Склад для всех записей ТЧ Документа.
|
|
|
4
Игорь_МММ
09.04.16
✎
21:26
|
(1) "ПриВыгрузке" - в справке написано, что в этом обработчике значение можно переопределить
|
|
|
5
Naumov
09.04.16
✎
23:30
|
(3) Какую ТЧ? Ты вроде выгружаешь в набор записей регистра?
Чем у тебя склад в приемнике является?
|
|
|
6
SleepyHead
гуру
10.04.16
✎
09:02
|
(0) Выражение заполняй.
|
|
|
7
tabarigen
11.04.16
✎
14:14
|
(5)
Так то набор записей, но в документе ведь это ТЧ. Гляньте скрин выше. Склад в приемнике как указано в теме является Справочником.
(1) Что то я не понял. А где можно переопределить где будут выполняться обработчики, в базе источника или приемника.
|
|
|
8
tabarigen
11.04.16
✎
14:30
|
(6) Что за выражения?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший