|
Помогите решить задачку с колонками | ☑ | ||
---|---|---|---|---|
0
Kamich
29.03.13
✎
13:22
|
Добрый день. Помогите решить задачку.
http://forum.infostart.ru/forum14/topic83090/message878619/index.php#message878619 |
|||
1
Defender aka LINN
29.03.13
✎
13:24
|
На мой взгляд, это уже наглость. Что, сюда скопипастить сложно, буфер обмена сломается?
|
|||
2
zladenuw
29.03.13
✎
13:26
|
и в чем сложность ?
при выводе строки ставь доступность, в зависимости от значение количества. |
|||
3
Галахад
гуру
29.03.13
✎
13:26
|
Какая-то стремная задача.
Нафига это нужно? |
|||
4
cw014
29.03.13
✎
13:28
|
А главное название у документа отличное - Документ3
|
|||
5
Kamich
29.03.13
✎
13:34
|
(2)Под корректируйте если что не так:
Стр=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока; Если Стр.Количество="2" Тогда Стр.Клиент1.Видимость=Истина; Стр.Клиент1.Доступность=Истина; ИначеЕсли Стр.Количество="1" Тогда Стр.Клиент1.Видимость=Ложь; Стр.Клиент1.Доступность=Ложь; КонецЕсли; |
|||
6
rutony
29.03.13
✎
13:39
|
(5) Событие ПриВыводиСтроки смотри
|
|||
7
zladenuw
29.03.13
✎
13:41
|
(0) а вообще какая задача. всегда ли будет 3 клиента ? может их может быть n
|
|||
8
Kamich
29.03.13
✎
13:44
|
(7) Расскажу в кратце для чего это надо.
Предположим, Номер Строки-это Количество номеров в квартир. Клиент,Клиент1,Клиент2-Это количество лиц,которые проживают в текущей квартире.А Колонка Реквизит1 с значением булева, идет на все клиенты в текущей квартире. Максимум может быть 5 клиентов в квартире |
|||
9
hhhh
29.03.13
✎
13:44
|
(5) а ты уже в курсе, что "2" - это строка, а 2 - это число.
|
|||
10
Kamich
29.03.13
✎
13:46
|
(6) Процедура ТабличнаяЧасть1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Стр=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока; Если Стр.Количество="2" Тогда Стр.Клиент1.Видимость=Истина; Стр.Клиент1.Доступность=Истина; ИначеЕсли Стр.Количество="1" Тогда Стр.Клиент1.Видимость=Ложь; Стр.Клиент1.Доступность=Ложь; КонецЕсли; КонецПроцедуры Что не так? |
|||
11
Kamich
29.03.13
✎
13:46
|
(9) Да в курсе
|
|||
12
Зойч
29.03.13
✎
13:46
|
смотри как с субконто делают
|
|||
13
Зойч
29.03.13
✎
13:47
|
(8) 1С:Бордель что ли???
|
|||
14
kosts
29.03.13
✎
13:47
|
(0) Кто поставил такую задачу?
|
|||
15
Kamich
29.03.13
✎
13:48
|
(9) Я исправил:
Стр=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока; Если Стр.Количество=2 Тогда Стр.Клиент1.Видимость=Истина; Стр.Клиент1.Доступность=Истина; ИначеЕсли Стр.Количество=1 Тогда Стр.Клиент1.Видимость=Ложь; Стр.Клиент1.Доступность=Ложь; КонецЕсли; Но он по прежнему выводит ошибку {Документ.Документ1.Форма.ФормаДокумента(26)}: Значение не является значением объектного типа (Видимость) Стр.Клиент1.Видимость=Ложь; |
|||
16
kosts
29.03.13
✎
13:50
|
(15) Тебе нужно не с текущей строкой играть, а с оформлением строки.
|
|||
17
kosts
29.03.13
✎
13:51
|
И зачем доступность, если элемент уже и так не видим. Логику включи.
|
|||
18
kosts
29.03.13
✎
13:52
|
Для удобства пользователей было бы лучше не скрывать колонки, а делать их серыми и недоступными. А то ширины колонок будут играть и глаза разбегаться...
|
|||
19
kosts
29.03.13
✎
13:55
|
В событие ТабличнаяЧасть1ПриВыводеСтроки() можно попасть и тогда, когда на экране нет ни одной строки. Т.е. вполне может так быть
Стр=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока; => Неопределено Если Стр.Количество=2 Тогда => Ошибка |
|||
20
zladenuw
29.03.13
✎
13:59
|
прикольно. а если живут таджики. где их 40 человек. что тогда ? будешь все сначала делать ?
Лучше список значений. или отдельную тч которая будет связана с основной. и будет подгружать в эту тч список жильцов |
|||
21
kosts
29.03.13
✎
14:01
|
||||
22
Kamich
29.03.13
✎
14:10
|
(21) сДЕЛАЛ ВОТ ТАК:
Стр=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока; Если Стр.Количество=2 Тогда ЭлементыФормы.ТабличнаяЧасть1.Колонки.Клиент1.Видимость = Истина; ИначеЕсли Стр.Количество=1 Тогда ЭлементыФормы.ТабличнаяЧасть1.Колонки.Клиент1.Видимость =Ложь; КонецЕсли; Работает как надо.Но только не в текущей строке а в обем в ТЧ. Т.е. если я создал строчку со значением колонки Количество - 2. то все нормально Колонка Клиент1 становится видимым и все как нужно. НО ВОТ если я добавляю строчку и указываю в колонке Количество 1 то в предыдущей строке, Колонка "Клиент1" пропадает становится не видимым. как этого избежать? |
|||
23
kosts
29.03.13
✎
14:14
|
(22) Это для 2-х покажи как для 5-ти получилось.
|
|||
24
Kamich
29.03.13
✎
14:16
|
(23) Все то же самое просто добавляется дополнительные условия Если .
Но вот как этого избежать? (22) |
|||
25
kosts
29.03.13
✎
14:18
|
(24) Зачем просить было, если всё равно не читал, что тебе написали...
|
|||
26
kosts
29.03.13
✎
14:20
|
Опиши более развернуто задачу, может что нибудь дельного посоветуют.
|
|||
27
Kamich
29.03.13
✎
14:34
|
(26)
Раскрою задачу. В общем при указании количества к примеру - 2, то Колонки Клиент1 и Паспорт1 становятся видимыми. Суть в том,чтобы при создании к примеру следующей строки и вводе в текущей новой строке колонки Количество указываем значение 1. То в текущей строке нам доступны ячейки Клиенгт и Паспорт, но при этом в в предыдущей строке ячейки Клиент,Клиент1 и Паспорт,Паспорт1, остаются по прежнему видны. Картинку разместил на : http://forum.infostart.ru/forum14/topic83090/message878742/?result=reply#message878742 |
|||
28
zladenuw
29.03.13
✎
14:35
|
(27) это не постановка задача, это твой взгляд на решение задачи.
|
|||
29
hhhh
29.03.13
✎
14:36
|
(24) а чего у тебя клиент в табличной части? И почему если он одну штуку покупает, ты его невидимым хочешь сделать?
Вообще-то многоступенчатых колонок в 1с не бывает. Или колонка видна или она не видна. Выбирай одно из двух. |
|||
30
kosts
29.03.13
✎
14:37
|
(27) Та, не. Конкретно с этой проблемой всё ясно.
Опиши что ты делаешь в целом. |
|||
31
kosts
29.03.13
✎
14:38
|
(29) >Вообще-то многоступенчатых колонок в 1с не бывает.
Не путай его. Вполне можно делать отдельные ячейки невидимыми. |
|||
32
Kamich
29.03.13
✎
14:40
|
(31) (30) Уже все описал...
|
|||
33
kosts
29.03.13
✎
14:42
|
(32) Как хочешь. Имелось ввиду. Что за конфигурация, что делает этот документ. В целом. Может что-то посоветовали бы.
|
|||
34
Kamich
29.03.13
✎
14:43
|
(33) Составляет список проживающих в доме,по квартирам
|
|||
35
kosts
29.03.13
✎
14:49
|
(34) Если задача реальная, а не учебная, то 5 колонок это явно мало. Лучше делать каким либо способом в котором не будет ограничения.
|
|||
36
Kamich
29.03.13
✎
14:52
|
(35) к примеру создать новую ТЧ ?
Просто тут еще один пункт. При выборе клиента в Колонки Паспорта, добавляется номер паспорт по клиенту. Или .... Может что нибудь другое предложите? Я уже дней 4 вожусь с этим... |
|||
37
kosts
29.03.13
✎
14:56
|
(36) Клиентов вполне можно и справочником делать. Там же и паспорт.
А в документах будет ТЧ в которых будут добавляться строки с клиентами. |
|||
38
Kamich
29.03.13
✎
14:58
|
(37) Клиенты уже и есть справочники,там же и паспорта.
Предположим, Номер Строки-это Количество квартир в доме. Клиент,Клиент1,Клиент2-Это количество лиц,которые проживают в текущей квартире.Паспорт,Паспорт1,Паспорт2-Это Паспорта,Клиентов .А Колонка Реквизит1 с значением булева, идет на все клиенты в текущей квартире. Предназначена для того,чтобы дать понять,что ... ну к примеру что там живут все взрослые. |
|||
39
kosts
29.03.13
✎
15:01
|
(38) Скажи назначение это таблицы. Это ввод какого-то состояния, паспортов или это отчет такой.
|
|||
40
kosts
29.03.13
✎
15:03
|
Или это первоначальный ввод проживающих.
|
|||
41
hhhh
29.03.13
✎
15:05
|
(38) у тебя должно быть 4 колонки: колонка Клиент, колонка Паспорт, колонка НомерКвартиры и колонка Реквизит. Зачем ты размножаешь колонки? Паспорт1, Паспорт2? На человека одна строка, следующий жилец - вторая строчка.
|
|||
42
Kamich
29.03.13
✎
15:15
|
(41) Я прикрепил фотографию как должно быть просмотрите пожалуйста 43 ответ по след.ссылке:
http://forum.infostart.ru/forum14/topic83090/message878800/?result=reply#message878800 |
|||
43
kosts
29.03.13
✎
15:26
|
(42) Смысл понятен. Так можно намутить играясь видимостью и расположением колонок. Как это делать уже давно написали. Покажи код который у тебя на данный момент получился.
И можно сделать неограниченное количество проживающих в квартире (если использовать отдельную ТЗ с динамической генерацией колонок, с последующим переносом данных в скрытую табличную часть документа). |
|||
44
Kamich
29.03.13
✎
15:31
|
(43) Сейчас я использую
Процедура ТабличнаяЧасть1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ДанныеСтроки.Количество =1 тогда ОформлениеСтроки.Ячейки.Клиент.Видимость = Истина; ОформлениеСтроки.Ячейки.Клиент1.Видимость = ложь; ОформлениеСтроки.Ячейки.Клиент2.Видимость = ложь; ИначеЕсли ДанныеСтроки.Количество =2 тогда ОформлениеСтроки.Ячейки.Клиент.Видимость = Истина; ОформлениеСтроки.Ячейки.Клиент1.Видимость = Истина; ОформлениеСтроки.Ячейки.Клиент2.Видимость = ложь; ИначеЕсли ДанныеСтроки.Количество =3 тогда ОформлениеСтроки.Ячейки.Клиент.Видимость = Истина; ОформлениеСтроки.Ячейки.Клиент1.Видимость = Истина; ОформлениеСтроки.Ячейки.Клиент2.Видимость = Истина; КонецЕсли; КонецПроцедуры В принципы работает как надо. Единственно вот,если реально будет 10 клиентов... Вы говорите "И можно сделать неограниченное количество проживающих в квартире (если использовать отдельную ТЗ с динамической генерацией колонок, с последующим переносом данных в скрытую табличную часть документа)." Вот это было бы на мой взгляд намного лучше... но вот как реализовать её... |
|||
45
zladenuw
29.03.13
✎
15:34
|
(44) че как. открываешь УТП или УТ смотришь Установка цен номенклатуры. там реализовано. что тебе надо.
|
|||
46
hhhh
29.03.13
✎
15:37
|
(42) но там ведь 4 колонки на фотографии. Зачем ты в табличной части делаешь 12 колонок? Делай тоже 4. Как тебе и нужно.
|
|||
47
Kamich
29.03.13
✎
15:51
|
(46) у меня пять колонок:номера,Клиент,Паспорт,Количество,Тип Номера.
Просмотрите на новую фотографию ответ № 48: http://forum.infostart.ru/forum14/topic83090/message878828/?result=reply#message878828 |
|||
48
Trotter
29.03.13
✎
15:59
|
Это что скрытая реклама инфостарта ?))
Пойду тоже там создам тему и буду ссылаться на мисту ) |
|||
49
hhhh
29.03.13
✎
16:01
|
(47) а зачем тогда в табличной части фигачишь 25 колонок? Паспорт1, Парспорт2, Паспорт3 и Паспорт4?
|
|||
50
Kamich
29.03.13
✎
16:04
|
(49) В таком случае,по другому как?
|
|||
51
Kamich
29.03.13
✎
16:04
|
(48) Жаль то,что в мисте нельзя добавлять "изображения"
|
|||
52
Зойч
29.03.13
✎
16:05
|
почему не хочешь подчиненную тч?
|
|||
53
Зойч
29.03.13
✎
16:06
|
и зачем 1 документ на несколько номеров. Не удобнее ли будет 1 к 1?
|
|||
54
Kamich
29.03.13
✎
16:06
|
(52) Потомучто, у меня не получается связать их вместе
|
|||
55
Зойч
29.03.13
✎
16:06
|
(54) ну так спроси
|
|||
56
Kamich
29.03.13
✎
16:09
|
(55) Как мне их связать, и использовать в дальнейшем.К примеру для формирования печатного документа что-то вроде того,что я продемонстрировал по ссылке (47) ?
|
|||
57
Зойч
29.03.13
✎
16:10
|
а почему не (53) ?
|
|||
58
Kamich
29.03.13
✎
16:11
|
(57) 1к1 т.е....
|
|||
59
Птица
29.03.13
✎
16:15
|
квартиры лучше вообще справочником сделать, а не прросто числовым номером. Наверняка у их есть какие-то реквизиты, присущие квартире в целом.
|
|||
60
Птица
29.03.13
✎
16:18
|
+(59) тогда можно сделать по ссылке из (0) как в (41), но в тч -реквизит квартира сделать справочником
|
|||
61
Птица
29.03.13
✎
16:21
|
просто тут автор пытается впихнуть невпиху.. (зачеркнуто) в одну ТЧ - квартиры и жильцов. Это принципиально разные объекты, хоть и связаны.
|
|||
62
Kamich
29.03.13
✎
16:33
|
Ладно всем спасибо за терпение...Что нибудь "намучу"...
Всем спасибо за выделенное время и за ваши советы) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |