Имя: Пароль:
1C
1С v8
Конвертация данных 2. Источник пустой --> Справочник.
0 tabarigen
 
09.04.16
17:11
Всем привет.
Подскажите пожалуйста как заполнять ПКС. Хочу в ПКС установить значение в базе приемнике.

В ПКС в событии после выгрузки пишу

Значение = Справочники.Склады.НайтиПоНаименованию("МойСклад");

Не помогает.

И еще будет ли срабатывать правило в ПКС если оно подчинено ПКГС,   идля ПКГС стоит галочка получать из входящих данных.
Подробнее на скрине.
https://yadi.sk/i/hCbI8FYWqrkX6
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) https://yadi.sk/i/OjfGVX92qtzsH
Так то набор записей,  но в документе ведь это ТЧ. Гляньте скрин выше. Склад в приемнике как указано в теме является Справочником.
(1) Что то я не понял. А где можно переопределить где будут выполняться обработчики, в базе источника или приемника.
8 tabarigen
 
11.04.16
14:30
(6) Что за выражения?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn