|
v7: Неопределённое количество столбцов табличной части | ☑ | ||
---|---|---|---|---|
0
Kolombina
17.12.12
✎
14:25
|
Имеется: в нетленке документ, который устанавливает цены в разных магазинах. Количество магазинов может меняться. Для каждого магазина могут быть свои цены. Сейчас документ выглядит так: в табличной части есть поля "ЦенаМагазина1", "ЦенаМагазина2" и тд, на форме документа цены на каждый товар выстраиваются дальше в строчку по магазинам. То есть, с добавлением магазина надо вносить дополнительные поля в табличную часть.
Задача: переделать этот документ, чтобы избавиться от тупого добавления полей "ЦенаМагазина" с ростом количества магазинов. Посоветуйте, пожалуйста, как сделать красивше и оптимальнее? (база скульная) |
|||
1
mikecool
17.12.12
✎
14:26
|
Товар | Магазин | Цена
|
|||
2
Kolombina
17.12.12
✎
14:27
|
(1) А если хочется оставить именно в строчку цены по магазинам?
|
|||
3
mikecool
17.12.12
✎
14:27
|
(2) сделай ТЗ на форме, заполняй по таб. части как душе будет угодно
|
|||
4
mikecool
17.12.12
✎
14:28
|
+3 на обучении по бухии 77 делал такое году эдак 2002
|
|||
5
Mikeware
17.12.12
✎
14:28
|
(2) хранение - "товар-магазин-цена"
а представление делай такое, какое хочешь |
|||
6
ЧеловекДуши
17.12.12
✎
14:28
|
Вам в сторону "ТЗ + Табличная часть документа"...
Лучше вообще количество магазинов в документе = Количество закладок на форме. ... Т.е. в ТЗ - отображаешь в диалоге Табличную часть прячешь и пишешь туда так, как хочешь, т.е. используешь её в качестве хранилища. |
|||
7
Mikeware
17.12.12
✎
14:29
|
лучше не ТЗ, а ТП.
|
|||
8
ЧеловекДуши
17.12.12
✎
14:29
|
(7)Это еще лучше, но быстрее ТЗ :)
|
|||
9
mikecool
17.12.12
✎
14:29
|
(7) про формекс вопрос не поднимался
|
|||
10
Kolombina
17.12.12
✎
14:30
|
(6) 50 вкладок - очень неудобно
|
|||
11
ЧеловекДуши
17.12.12
✎
14:30
|
+ В качестве реализации
|
|||
12
Cthulhu
17.12.12
✎
14:30
|
(1)+: по кнопке - ТабРВД со свернцтыми строками по товарам и колонками по магалинам, с отработкой сохранения в (1) - и хоть обвводись.
|
|||
13
Mikeware
17.12.12
✎
14:30
|
(9) ТП - это не формекс
|
|||
14
Kolombina
17.12.12
✎
14:30
|
(9) а что смотреть на формексе?
|
|||
15
Cthulhu
17.12.12
✎
14:31
|
(13): и, строго говоря, не 1с тоже.
|
|||
16
ЧеловекДуши
17.12.12
✎
14:31
|
(10)50 вкладок!!!!
Вы шо, вкладки добавляются по мере заполнения документа. И к тому же, кто сказал, что должен быть только один документ? ... Но вам виднее :) |
|||
17
Mikeware
17.12.12
✎
14:31
|
(10) мало? можно еще вертикальные закладки добавить - по товарам. в результате будет одно поле ввода :-))
|
|||
18
ЧеловекДуши
17.12.12
✎
14:31
|
(14)На формексе смотреть изменяющую размер ТП (Табличное поле) или ТЗ (таблица значений)
|
|||
19
WoodMan
17.12.12
✎
14:32
|
(10) а 50 колонок удобно?
|
|||
20
Mikeware
17.12.12
✎
14:32
|
(15)да?? а что тогда?
|
|||
21
Mikeware
17.12.12
✎
14:32
|
(19) визуально - да.
|
|||
22
ЧеловекДуши
17.12.12
✎
14:33
|
(20)Могу предположить, 1С++ :)
|
|||
23
ЧеловекДуши
17.12.12
✎
14:33
|
(21)Сомневаюсь :)
|
|||
24
Kolombina
17.12.12
✎
14:33
|
(19) имхо, 50 колонок удобнее 50 вкладок, плюс 50 колонок там уже есть
|
|||
25
ЧеловекДуши
17.12.12
✎
14:33
|
+ Без скрина не поверю
|
|||
26
ЧеловекДуши
17.12.12
✎
14:34
|
(24)ВЫложи скрин, дай посмотреть на сей "удобное чудо"
|
|||
27
WoodMan
17.12.12
✎
14:35
|
для удобности тут что-то типа таблицы в режиме ввода данных надо делать
|
|||
28
Kolombina
17.12.12
✎
14:35
|
(26) я не сказала удобное, я сказала удобнЕЕ
|
|||
29
ЧеловекДуши
17.12.12
✎
14:39
|
(28)Поди еще в каждый магазин может быть отгружено не одинаковое количество, чего либо?
Кто вообще поленился заводить 50 документов и решил, что в одном документе будет проще? |
|||
30
ЧеловекДуши
17.12.12
✎
14:40
|
+(28)Это ты что-ли сама сделала? О_о... "УдобнЕЕ чудо"
|
|||
31
ЧеловекДуши
17.12.12
✎
14:41
|
+(28)ТП - дает равноправный интерфейс, который доступен простому пользователю при редактировании документа, справочника.
|
|||
32
Mikeware
17.12.12
✎
14:41
|
(29) с отгрузкой расценка не совсем связана.
кроме того, что мешает ставить "0" (или вобще блокировать ввод в тех ячейках, которые не надо переоценивать?) |
|||
33
Бывший адинэсник
17.12.12
✎
14:42
|
(1) в варианте Товар | Магазин | Цена
есть один важный нюанс придётся по нескольку раз добавлять один и тот же товар, что скажется на юзабилити. |
|||
34
Mikeware
17.12.12
✎
14:42
|
(31) а что такое "равноправный интерфейс"?
|
|||
35
ЧеловекДуши
17.12.12
✎
14:42
|
(32)Не знаю, но я бы это назвал еще проще - Перемещение Товара.
|
|||
36
BAPBAP
17.12.12
✎
14:43
|
(0) Посмотри, как реализован документ "УстановкаЦенНоменклатуры" в УТ.
|
|||
37
ЧеловекДуши
17.12.12
✎
14:43
|
(33)Да, она это знает.
(34)Даёт так же интерактивно изменять некие данные. |
|||
38
ЧеловекДуши
17.12.12
✎
14:45
|
(36)Успокойся. Ей, пойди, была поставлена задача облегчить перемещение товара. Т.е. что бы одним документом можно было махом отправить товар по разным Ларькам.
В итоге мутатн-задача со временем приобрел ужасающий размер и громадную лень самого оператора :) |
|||
39
BAPBAP
17.12.12
✎
14:48
|
(38) Так я и не буяню, вроде
|
|||
40
Kolombina
17.12.12
✎
14:53
|
(38) Мне поставлена задача переделать документ, чтобы избавиться от полей "ЦенаМагазина1", "ЦенаМагазина2" и тд, при незначительном внешнем изменении имеющихся форм.
|
|||
41
Ёпрст
17.12.12
✎
14:55
|
(40) 3 реквизита табличной части - Цена, Магазин,Товар и привет.
На форму кладешь ТЗ (а лучше ТП) , в ПриОткрытии заполняешь этот контрол, в ПриЗаписи с этого контрола загоняешь в ТЧ дока.. Всё собственно. |
|||
42
Mikeware
17.12.12
✎
15:02
|
(41) так ровно это ей и говорят уже пол-часа
|
|||
43
Ёпрст
17.12.12
✎
15:04
|
942) ну, мот допетрит до конца света.
|
|||
44
Mikeware
17.12.12
✎
15:06
|
(43) его что, сегодня выключают?
|
|||
45
2012_12_17
17.12.12
✎
15:07
|
Процедура ПриОткрытии()
глДокументПриОткрытии(Контекст); ДатаПреж=ДатаДок; Если Выбран() = 1 Тогда ЗаполнитьТабличныеЧасти( ТекущийДокумент() ); КонецЕсли; КонецПроцедуры // ПриОткрытии |
|||
46
Mikeware
17.12.12
✎
15:08
|
(45) гениТально!
|
|||
47
2012_12_17
17.12.12
✎
15:08
|
//-----------------------------------------------
Процедура ПриЗаписи() Если ПустоеЗначение(Подразделение1)=1 Тогда Подразделение1=Подразделение; //***ШО чтобы обойти проверку вида метаданных при записи КонецЕсли; Если глДокументПриЗаписи(Контекст,,0,,,)=0 Тогда Возврат; Иначе КонецЕсли; НачатьТранзакцию(); Если Подразделение1=Подразделение Тогда Подразделение1=ПолучитьПустоеЗначение(Подразделение); КонецЕсли; Записать(); ФормаМодифицирована = 0; ДействияЗагрузили = 0; д = СоздатьОбъект( "Документ" ); док = СоздатьОбъект( "Документ" ); док.ВыбратьПодчиненныеДокументы(,, ТекущийДокумент() ); Пока док.ПолучитьДокумент() = 1 Цикл Если ДействияЗагрузили = 0 Тогда Если док.Вид() = "тчПротоколЦен" Тогда Если д.НайтиДокумент( док.ТекущийДокумент() ) = 1 Тогда док.ЗагрузитьТабличнуюЧасть( Действия ); док.Записать(); ДействияЗагрузили = 1; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; Если ДействияЗагрузили = 0 Тогда док = СоздатьОбъект( "Документ.тчПротоколЦен" ); док.Новый(); док.ДатаДок = ДатаДок; док.УстановитьНовыйНомер(); док.ДокОснование = ТекущийДокумент(); док.ЗагрузитьТабличнуюЧасть( Действия ); док.Записать(); КонецЕсли; ЗафиксироватьТранзакцию(); СформироватьДокументы(); КонецПроцедуры // ПриЗаписи |
|||
48
2012_12_17
17.12.12
✎
15:09
|
//*******************************************
Процедура ЗаполнитьТабличныеЧасти( ДокОснование ) Если ДокОснование.Выбран() = 1 Тогда док = СоздатьОбъект( "Документ" ); док.ВыбратьПодчиненныеДокументы(,, ДокОснование.ТекущийДокумент() ); Пока док.ПолучитьДокумент() = 1 Цикл Если док.Вид() = "тчПротоколЦен" Тогда док.ВыгрузитьТабличнуюЧасть( Действия ); КонецЕсли; КонецЦикла; КонецЕсли; УстановитьПараметрыТаблиц(); КонецПроцедуры //******************************************* |
|||
49
2012_12_17
17.12.12
✎
15:11
|
Процедура УстановитьПараметрыТаблиц()
Действия.УстановитьПараметрыКолонки( "ФирмаТЧ",,,,"Фирма",10); Действия.УстановитьПараметрыКолонки( "КонтрагентТЧ",,,,"Контрагент",15); Действия.УстановитьПараметрыКолонки( "ДоговорТЧ",,,,"Договор",15); КонецПроцедуры |
|||
50
2012_12_17
17.12.12
✎
15:15
|
(0) собственно (43) говорит вот об чем: пример у меня два документа Сводный протокол цен и его ВТОРАЯ табличная часть оформленная как документ тчПротоколЦен - в шапке этого документа тчПротоколЦен один реквизит : ДОКУМЕНТОСНОВАНИЕ тип значения которого ДОКУМЕНТ.СводныйПротоколЦен
|
|||
51
2012_12_17
17.12.12
✎
15:17
|
В табличной части документа тчПротоколЦен я расположил три реквизита ФирмаТЧ КонтрагентТЧ и ДоговорТЧ , ну а Вам надо расположить Ваши Товар | Магазин | Цена
|
|||
52
Mikeware
17.12.12
✎
15:18
|
(50) одна из классических для клюшек реализаций второй табчасти...
|
|||
53
Mikeware
17.12.12
✎
15:19
|
+(52) но зачем ей вторая табчасть, если ей вполне хватит первой?
|
|||
54
Ёпрст
17.12.12
✎
15:19
|
(52) только вот тс это как бэ не надо восе :)
|
|||
55
2012_12_17
17.12.12
✎
15:19
|
У меня сводный протокол создает энное число протоколов цен для эмного числа продукции, ограниченной тройкой ФИРМА/Контрагент/Договор
|
|||
56
Mikeware
17.12.12
✎
15:21
|
(54) да просто завсом тупит, как всегда...
|
|||
57
Kolombina
17.12.12
✎
15:21
|
спасибо за советы
|
|||
58
akaBrr
17.12.12
✎
15:31
|
(54)а что надо? костыль со служебным документом совсем не устраивает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |