|
|
Правила переноса, задать наименование склада |
☑ |
|
0
krasa_polina
11.06.13
✎
12:41
|
Всем здравствуйте!
У меня есть нормально работающие правила переноса, где на Наименовании склада ПередВыгрузкой на склад прописан код:
Значение = "Основной склад";
Но, нужно, чтобы был не просто "ОС", а ПрефиксОрганизации + "ОС",
дабы было видно, чей товар на данном складе. Впервые вижу конвертацию, направьте, пожалуйста, в нужном направлении.
|
|
|
1
Beduin
11.06.13
✎
12:42
|
|
|
|
2
Wobland
11.06.13
✎
12:42
|
(0) боишься префикс организации со строкой сконкатерировать?
|
|
|
3
krasa_polina
11.06.13
✎
12:45
|
не боюсь! я храбрая! вот только не знаю как. к нему же надо обратиться, тем более (как я понимаю, могу ошибаться) это не на справочник надо, а на документ, ведь у справочника нет организации. Или я ошибаюсь?
|
|
|
4
Wobland
11.06.13
✎
12:46
|
(3) а ты закрой глаза и представ, что КД нет. потом открой и присвой Значение так же
|
|
|
5
krasa_polina
11.06.13
✎
14:05
|
Ну, на документ это дело не работает, ругается на недоступность поля (ишь ты, скромняга недоступная). А склад не знает, какой организации он принадлежит... или знает, но молчит. Заколдованный круг получился, ибо все, что скрыто во тьме, есть колдовство.
|
|
|
6
D_E_S_131
11.06.13
✎
14:19
|
(5) Красиво пишете. А как по Вашему можно определить принадлежность склада к организации в момент выгрузки?
|
|
|
7
hhhh
11.06.13
✎
15:07
|
(6) ну как нас учит великий спец8
В документе
ИсходящиеДанные.ВСтавить("Префикс", Источник.Организация.Префикс);
в складе
Значение = ВходящиеДанные.Префикс + Значение;
|
|
|
8
krasa_polina
18.06.13
✎
09:23
|
Прописала примерно такой код на после выгрузки документов:
Если СокрЛП(Объект.Организация.Наименование) = "01 ТПК" Тогда
ИмяСклада = "ТПК Основной склад";
ИначеЕсли СокрЛП(Объект.Организация.Наименование) = "06 ОКБ" Тогда
ИмяСклада = "ОКБ Основной склад";
ИначеЕсли СокрЛП(Объект.Организация.Наименование) = "07 ТД" Тогда
ИмяСклада = "ТД Основной склад";
Иначе
ИмяСклада = "Основной склад";
КонецЕсли;
Склад = Неопределено;
Выборка = Справочники.Склады.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Наименование = ИмяСклада Тогда
Склад = Выборка.Ссылка;
Прервать;
КонецЕсли;
КонецЦикла;
Если Склад = Неопределено Тогда
НовыйСклад = Справочники.Склады.СоздатьЭлемент();
НовыйСклад.Наименование = ИмяСклада;
НовыйСклад.Записать();
Склад = НовыйСклад.Ссылка;
КонецЕсли;
Объект.Склад = Склад;
Для Каждого ТекТов Из Объект.Товары Цикл
ТекТов.Склад = Склад;
КонецЦикла;
Работает как надо, только на прошлые периоды косячит, некоторые склады подменяет, а некоторые оставляет просто "Основной склад", хотя организация относится к одной из списка вышеперечисленных.
|
|
|
9
krasa_polina
18.06.13
✎
11:25
|
код не косячит, если выгружать только реализации, то все норм, так что ошибка в другом.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший