Имя: Пароль:
1C
1С v8
Конвертация данных. Параметры
0 kanalex
 
14.09.11
10:42
Доброго времени суток уважаемые!

Опишу ситуацию... Я, вообщем,  нашел решение, но хочется обсудить его. Может можно сделать это красивее.

Переносим документы поступления материалов и товаров из нескольких бухгалтерских баз 7.7 в такую же другую. При этом хочется, чтобы склады в этих документах не сливались.
Создаем параметр конвертации: ПрефиксСклада - типа строка.
Перед выгрузкой данных, по ИНН определяем что за база и инициализируем параметр с помощью:
УстановитьЗначениеПараметраКонвертации("ПрефиксСклада", "ЭСК");

Потом в ПКС Наименование склада пытаемся получить этот параметр... Вот тут бился довольно долго:(
В итоге написалось такое:
НомерСтроки = 0;
   
Если ТаблицаНастройкиПараметров.НайтиЗначение("ПрефиксСклада", НомерСтроки, "Имя") = 1 Тогда
   ПрефиксСклада = ТаблицаНастройкиПараметров.ПолучитьЗначение(НомерСтроки, "Значение");
   Значение = Источник.Наименование + " (" + ПрефиксСклада + ")";
КонецЕсли;

Покритикуйте, плиз.
Только начинаю разбираться с конвертацией...
1 acsent
 
14.09.11
10:45
проще конечно в базах название склада поменять или код
2 kanalex
 
14.09.11
10:46
Базы рабочие. В них менять как-то не комельфо
3 acsent
 
14.09.11
10:49
(2) Ну и что что рабочие?
Мы же работаем а не х..и пинаем
4 acsent
 
14.09.11
10:49
Это один из примеров когда административное решение на порядок проще програмного.
Просто не нужно бояться поговорить с ГБ или кто там ответственный
5 vtolga
 
14.09.11
10:50
Поменять-выгрузить-вернуть обратно. И все.
6 kanalex
 
14.09.11
10:52
оно конечно так... но разобраться с параметрами полезно:)
7 kanalex
 
14.09.11
10:53
и потом. выгрузка планируется не однократно, т.ч. каждый раз менять туда сюда... уже не очень правильно.
8 kanalex
 
14.09.11
10:56
и еще вопрос с Отбором документов при выгрузке.
Пришлось писать правило отбора в ПКО выгружаемых документов Перед выгрузкой.

Если ((СокрЛП(Источник.Контрагент.Наименование)="Комус") ИЛИ
   (СокрЛП(Источник.Контрагент.Наименование)="Эксперт Мебель") ИЛИ
   (СокрЛП(Источник.Контрагент.Наименование)="Комус-Петербург")) Тогда
   Отказ = 0;
Иначе
   Отказ = 1;
КонецЕсли;

Пытался поставить эти условия в форме обработки V77Exp.ert
но тогда вообще ничего не выгружается:(
9 kanalex
 
14.09.11
11:12
хотелось бы конечно отбор делать интерактивно.