![]() |
![]() |
|
СКД + 8.2 - не работает изменение СхемыКомпоновки | ☑ | ||
---|---|---|---|---|
0
H A D G E H O G s
23.03.10
✎
12:48
|
День добрый.
Ситуация: Есть СКД и ТонкийКлиент. В СКД программно добавляю ВычисляемоеПоле, и Ресурс для него. Переинициирую КомпоновщикНастроек. В КомпоновкеНастроек добавляю ВыбранноеПоле. Проблема: В Отчете, при нажатии меню "Изменить вариант", в доступных полях не появляется новый Ресурс из ВычисляемогоПоля, а В выбранных полях - добавленное поле не связано в данными (имеет вид красного крестика). Вот код: ЭтотОтчет=РеквизитФормыВЗначение("Отчет"); СхемаКомпоновки=ЭтотОтчет.СхемаКомпоновкиДанных; ВычисляемыеПоля=СхемаКомпоновки.ВычисляемыеПоля; ВычисляемоеПоле=ВычисляемыеПоля.Добавить(); ВычисляемоеПоле.Выражение= "ВЫБОР КОГДА &ЕдиницыКоличестваВОтчете = 0 ТОГДА |КоличествоНачальныйОстаток |ИНАЧЕ ВЫБОР КОГДА &ЕдиницыКоличестваВОтчете = 1 ТОГДА |КоличествоНачальныйОстаток*Номенклатура.ЕдиницаХраненияОстатков.Коэффициент |ИНАЧЕ |КоличествоНачальныйОстаток*Номенклатура.ЕдиницаХраненияОстатков.Коэффициент/Номенклатура.ЕдиницаДляОтчетов.Коэффициент |КОНЕЦ |КОНЕЦ"; ВычисляемоеПоле.Заголовок="Количество (в упаковках)"; ВычисляемоеПоле.ПутьКДанным="КоличествоУпаковок"; ПолеИтога=СхемаКомпоновки.ПоляИтога.Добавить(); ПолеИтога.Выражение="Сумма(КоличествоУпаковок)"; ПолеИтога.ПутьКДанным ="КоличествоУпаковок"; ИсточникНастроек=Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновки); Отчет.КомпоновщикНастроек.Инициализировать(ИсточникНастроек); Отчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); НовоеПоле=ЭтотОтчет.КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); НовоеПоле.Поле=Новый ПолеКомпоновкиДанных("КоличествоУпаковок"); НовоеПоле.Заголовок="Количество (в упаковках)"; |
|||
1
H A D G E H O G s
23.03.10
✎
12:48
|
Примечание 1:
В ТолстомКлиенте все работает |
|||
2
H A D G E H O G s
23.03.10
✎
12:49
|
Примечание 2:
Если добавляешь все поля в режиме правки СхемыКомпоновки - все работает |
|||
3
H A D G E H O G s
23.03.10
✎
12:50
|
Примечание 3:
Выгрузка СхемыКомпоновки после правки руками и СхемыКомпоновки после правки программно в XML показала их идентичность. |
|||
4
H A D G E H O G s
23.03.10
✎
12:50
|
ЧЯДНТ?
|
|||
5
acsent
23.03.10
✎
12:53
|
Притворись симпотишной девочкой, тогда может быть ответят ))
|
|||
6
Defender aka LINN
23.03.10
✎
12:55
|
ЭтотОтчет=РеквизитФормыВЗначение("Отчет");
А обратное преобразование где? |
|||
7
H A D G E H O G s
23.03.10
✎
13:04
|
(6) Зачем?
Я прямое использую для получения СхемыКомпоновки. А Компоновщик доступен и на клиенте - Отчет.КомпоновщикНастроек Или я не прав? |
|||
8
H A D G E H O G s
23.03.10
✎
13:07
|
Попробовал варианты:
1 ВАРИАНТ: Отчет.КомпоновщикНастроек.Инициализировать(ИсточникНастроек); Отчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); НовоеПоле=Отчет.КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); НовоеПоле.Поле=Новый ПолеКомпоновкиДанных("КоличествоУпаковок"); НовоеПоле.Заголовок="Количество (в упаковках)"; ЗначениеВРеквизитФормы(ЭтотОтчет,"Отчет" ); 2 ВАРИАНТ: ЭтотОтчет.КомпоновщикНастроек.Инициализировать(ИсточникНастроек); ЭтотОтчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); НовоеПоле=ЭтотОтчет.КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); НовоеПоле.Поле=Новый ПолеКомпоновкиДанных("КоличествоУпаковок"); НовоеПоле.Заголовок="Количество (в упаковках)"; ЗначениеВРеквизитФормы(ЭтотОтчет,"Отчет" ); Монопенисуально. |
|||
9
H A D G E H O G s
23.03.10
✎
13:08
|
Вообще это типовой отчет
ТоварыНаСкладах для УПП 1.3, если кому интересно - могу скинуть. |
|||
10
H A D G E H O G s
23.03.10
✎
13:19
|
up
|
|||
11
acsent
23.03.10
✎
13:20
|
Всетаки попробуй (5)
|
|||
12
Господин ПЖ
23.03.10
✎
13:23
|
вписать в косяки и выслать в 1С... тут один посетитель вроде имел отношение к баголовам одной малоизвесной фирмы...
|
|||
13
H A D G E H O G s
23.03.10
✎
13:42
|
(12) Куды писать то?
|
|||
14
H A D G E H O G s
23.03.10
✎
14:17
|
вверх.
Есть у кого еще идеи? Мне проблему решать надо, ибо бледный лисиц на меня смотрит. И облизывается. |
|||
15
sima
21.04.10
✎
13:47
|
Есть идеи. Откуда ты берешь ИсточникНастроек? Я сам столкнулся с похожей проблемой, когда пытался программно изменить одну СКД на другую. Лейбович Максим объяснял мне, что измененную (или новую) СКД необходимо прогонять через хранилище данных. В подробностях, к сожелению, я в этом вопросе не разобрался, но тот же Максим сказал что пример можно найти на ИТС.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |