Имя: Пароль:
 
1C
1С v8
Замена использование числовых значений («1») на флажок («V»).
0 TumenJan
 
22.05.19
06:54
Есть пять колонок: ОД; ОУ; Риск легкой травмы; Риск тяжелой травмы; Риск смертельной травмы.

Проблема:
1) вместо флажков при выборе какой-либо колонки выставляется 1 или 0.


Задача:  1. Замена использование числовых значений («1») на флажок («V»).
         2. Если поставили флажок в колонке "ОД", то можно поставить только один флажок из 3 колонок " Риск легкой травмы; Риск тяжелой травмы; Риск смертельной травмы "
3) Также и с колонкой "ОУ"
1 Лодырь
 
22.05.19
07:02
1. Вариант А. замените 1 и 0 на булево. И отображайте флажок
   Вариант Б. Нарисуйте иконки с галочками. Поставьте эту иконку в полекартинки, а индексом картинки будет ваш 0 или 1
2. Обработка событий ПриИзменении полей строки.
2 TumenJan
 
22.05.19
07:43
1. Где заменить 1 и 0 на булево?
2. ПриИзменении полей строки - какой код, плиз
3 TumenJan
 
22.05.19
07:52
Вот код который ставит 0 но нужно ставить флажок:
ТД = Элемент.ТекущиеДанные;
    Колонка = Элемент.ТекущаяКолонка.Имя;
    Если Колонка = "РискЛегкойТравмы" Тогда
        Если ТД.РискЛегкойТравмы > 0 Тогда
            ТД.РискТяжелойТравмы = 0;
            ТД.РискСмертельнойТравмы = 0;
        КонецЕсли;    
    ИначеЕсли Колонка = "РискТяжелойТравмы" Тогда
        Если ТД.РискТяжелойТравмы > 0 Тогда
            ТД.РискЛегкойТравмы = 0;
            ТД.РискСмертельнойТравмы = 0;
        КонецЕсли;    
    ИначеЕсли Колонка = "РискСмертельнойТравмы" Тогда
        Если ТД.РискСмертельнойТравмы > 0 Тогда
            ТД.РискТяжелойТравмы = 0;
            ТД.РискЛегкойТравмы = 0;
        КонецЕсли;    
    ИначеЕсли Колонка = "ОД" Тогда
        Если ТД.ОД > 0 Тогда
            ТД.ОУ = 0;
        КонецЕсли;    
    ИначеЕсли Колонка = "ОУ" Тогда
        Если ТД.ОУ > 0 Тогда
            ТД.ОД = 0;
        КонецЕсли;    
    КонецЕсли;
4 Мимохожий Однако
 
22.05.19
08:02
Вместо =0 напиши =Ложь ))
5 TumenJan
 
22.05.19
08:21
спасибо большое)

а по этому вопросу:

  2. Если поставили флажок в колонке "ОД", то можно поставить только один флажок из 3 колонок " Риск легкой травмы; Риск тяжелой травмы; Риск смертельной травмы "
3) Также и с колонкой "ОУ"
6 Сияющий в темноте
 
22.05.19
08:23
Это задача?
А сколько платят?
7 Mikeware
 
22.05.19
08:25
(5) Программиста пригласить не пробовали?
8 TumenJan
 
22.05.19
08:31
2. Если поставили флажок в колонке "ОД", то можно поставить только один флажок из 3 колонок " Риск легкой травмы; Риск тяжелой травмы; Риск смертельной травмы "
3) Также и с колонкой "ОУ"

Поможете ребята
9 TumenJan
 
22.05.19
08:59
((
10 Evgenchik
 
22.05.19
09:12
ты бы хоть начала что-нибудь делать, не надо ждать готовый код
11 TumenJan
 
22.05.19
09:19
как связать две ячейки из разных таблиц
12 TumenJan
 
22.05.19
09:21
(10) Евгений, поверь я делаю, стараюсь, и читаю. Но пока не получается((
13 palsergeich
 
22.05.19
09:21
Когда котику делать нечего он 1 меняет на V
14 HawkEye
 
22.05.19
09:28
(13) фи... це же студент....
15 HawkEye
 
22.05.19
09:29
+14 студентка...
16 palsergeich
 
22.05.19
09:32
Тогда ладно. Забираю слова обратно.
По делу: привести ячейку к булево и через формат.
Представление булевых значений просто созданы для этого.
17 lodger
 
22.05.19
09:38
(11) по формулировкам (0) и (8)  это одна таблица. где там разные то?
18 TumenJan
 
22.05.19
09:49
Есть 2 два табличных поля на форме:

в 1 табл. поле: 5 колонок
в 2 табл. поле: 3 колонки

Надо в 1 табл.поле в 1 колонке клинкнуть на наименование, а в 2 табл.поле - в 1 колонке вышло такое же наименование. Ну т.е. они как-будто одно целое.

P/s: я могла бы фото этой формы скинуть, там боллее понятно. Здесь фото не прикрепишь.
19 HawkEye
 
22.05.19
09:51
(18) поверь, твое личное фото форумчан интересует больше чем фото формы )))
20 Mikeware
 
22.05.19
09:53
(18) и скриншот, и фото тут тоже можно прикрепить. Спросите у того, кто в школе информатику изучал, он вам подскажет, как это сделать....
21 Mikeware
 
22.05.19
09:54
(19) истинное...
22 palsergeich
 
22.05.19
09:56
(18) выкидывай на хостинг картинок или Яндекс диск, а ссылку в пост, мы тут так живём)
23 palsergeich
 
22.05.19
09:56
(22) я про скриншот если что)
24 TumenJan
 
22.05.19
10:02
25 TumenJan
 
22.05.19
10:20
фото получили или нет
26 Ёпрст
 
22.05.19
10:23
(24) как первое табличное поле связано со вторым ?
Т.е кликнули на 10 строку в первом табличном поле, во втором, какая строка будет ? Связь, через какой реквизит у вас ?
27 TumenJan
 
22.05.19
10:27
если кликнул на 10 строку в колонке "категория" в 1 табл. , то наименование во втором должно появиться в колонке "Категория"
28 Ёпрст
 
22.05.19
10:29
(27) в какой строке 2 таблицы ?
29 TumenJan
 
22.05.19
10:31
в 10 строке в колонке "Категория"
30 Ёпрст
 
22.05.19
11:11
(22) Еще раз: в первой таблице 100 строк, во второй, к примеру, 200.
Тыкнули в первую таблицу в 10 строку. Во второй таблице, в какой строке нужно поменять что-то ? Как у вас 2 эти таблицы связаны ?
31 Ёпрст
 
22.05.19
11:12
32 TumenJan
 
22.05.19
12:32
да да
33 TumenJan
 
22.05.19
13:20
Ребята:

Если ЭтаФорма.ПараметрОбъектКопирования = Неопределено Тогда // Процедура для запрета создание документов копированием
           Иначе
           Отказ = Истина;
           Сообщить("Данный объект нельзя создавать путем копирования!");
       КонецЕсли;

Все работает, но в вместе с сообщением открывается открывается окно справочников сотрудников, нужно чтобы ничего не выходило.
34 TumenJan
 
23.05.19
12:38
Привет всем,

Как добавить проверку флагов у категорий: устанавливается либо «ОД», либо «ОУ». При установке «ОД» или «ОУ» обязательно устанавливается галка: либо «Риск легкой травмы», либо «Риск тяжелой травмы», либо «Риск смертельной травмы» (устанавливается ТОЛЬКО ОДНА галка).
35 catena
 
23.05.19
12:48
(34)Расскажи, как ты бы это проверяла без кода, вручную.
36 TumenJan
 
23.05.19
12:58
Вот фото таблицы, примерно там я описала что к чему
37 TumenJan
 
23.05.19
12:58
(35) даже незнаю
38 TumenJan
 
23.05.19
12:58
39 TumenJan
 
23.05.19
13:19
ребята,
40 TumenJan
 
23.05.19
13:23
Есть два кода:

1. Процедура КатегорияПоказательПриИзменении(Элемент)
    
    ТД = Элемент.ТекущиеДанные;
    Колонка = Элемент.ТекущаяКолонка.Имя;
    Если Колонка = "РискЛегкойТравмы" Тогда
        Если ТД.РискЛегкойТравмы > Ложь Тогда
            ТД.РискТяжелойТравмы = Ложь;
            ТД.РискСмертельнойТравмы = Ложь;
        КонецЕсли;    
    ИначеЕсли Колонка = "РискТяжелойТравмы" Тогда
        Если ТД.РискТяжелойТравмы > Ложь Тогда
            ТД.РискЛегкойТравмы = Ложь;
            ТД.РискСмертельнойТравмы = Ложь;
        КонецЕсли;    
    ИначеЕсли Колонка = "РискСмертельнойТравмы" Тогда
        Если ТД.РискСмертельнойТравмы > Ложь Тогда
            ТД.РискТяжелойТравмы = Ложь;
            ТД.РискЛегкойТравмы = Ложь;
        КонецЕсли;    
    ИначеЕсли Колонка = "ОД" Тогда
        Если ТД.ОД > Истина Тогда
            ТД.ОУ = Истина;
        КонецЕсли;    
    ИначеЕсли Колонка = "ОУ" Тогда
        Если ТД.ОУ > Истина Тогда
            ТД.ОД = Истина;
        КонецЕсли;    
    КонецЕсли;  
    
КонецПроцедуры

    

2. Функция НеЗаполненоОписание(ТЧ, Описание, Категория)
    ЕстьОДОУ = Ложь;
    ЕстьРиски = Ложь;
    ЕстьДанные = Ложь;
    
    Для каждого Стр Из ТЧ Цикл
        Если НЕ Стр.Категория.Пустая() И
            (Стр.ОД <> 0  ИЛИ
            Стр.ОУ <> 0 ИЛИ
            Стр.РискЛегкойТравмы <> 0 ИЛИ
            Стр.РискТяжелойТравмы <> 0 ИЛИ
            Стр.РискСмертельнойТравмы <> 0)
            Тогда
            /////Условие на наличие ОД и ОУ при наличии рисков и наоборот, если есть ОД и ОУ, то должны быть риски
            Если  (Стр.ОД <> 0 или Стр.ОУ <> 0)
                тогда      ЕстьОДОУ=Истина;
            КонецЕсли;
            Если Стр.РискЛегкойТравмы <> 0 ИЛИ
                Стр.РискТяжелойТравмы <> 0 ИЛИ
                Стр.РискСмертельнойТравмы <> 0
                Тогда ЕстьРиски=Истина;
            КонецЕсли;
            /////
            
            ЕстьДанные = Истина;
            Прервать;
        КонецЕсли;    
    КонецЦикла;        
    /////
    Если ЕстьОДОУ и Не ЕстьРиски Тогда
        Сообщить("При наличии опасных действий или условий должны быть указаны предполагаемые риски для категории " + Категория);
        Возврат Истина;
    ИначеЕсли Не ЕстьОДОУ и ЕстьРиски тогда
        Сообщить ("При наличии рисков должны быть указаны опасные действия или риски для категории " + Категория);
        Возврат Истина;
    КонецЕсли;
    /////
    Если ЕстьДанные И СокрП(Описание) = ""  ТОГДА        
        Сообщить("Не заполнено Описание Реакция работника:" + Категория);
        Возврат Истина;
    КонецЕсли;
    Возврат Истина;
        
КонецФункции
41 Ёпрст
 
23.05.19
15:44
(38) примитив же..
42 Ёпрст
 
23.05.19
15:45
если ставишь одну галку(истина) остальные делаешь ложь.
Всё собственна.
43 Ёпрст
 
23.05.19
15:45
все остальное проверять не надо.
44 TumenJan
 
24.05.19
04:12
(43) спасибо, но плиз можете на коде показать где там поменять, прошу вас((
45 catena
 
24.05.19
05:26
(37)Это очень плохо. Разработка - это в первую очередь алгоритм, кодить можно и "со словарем". Если вы не можете придумать алгоритм, то это не ваша профессия.
46 TumenJan
 
24.05.19
05:32
(45) Ясно, Catena можете мне с этим заданием помочь
47 catena
 
24.05.19
05:57
(46)Существуют люди, которые в преподавании гораздо опытнее меня, есть курсы, проверенные временем.
48 Конструктор1С
 
24.05.19
06:14
Поле флажка не предлагать?
49 TumenJan
 
24.05.19
06:28
(48) Предлагать)
50 TumenJan
 
24.05.19
08:55
(48) ?
51 Mikeware
 
24.05.19
08:59
(50) ну так все уже сказали. Что еще надо? если писать за вас код, то это уже платно...
"зарабатывайте вдвое больше"®, на половину заработанного нанимайте программиста...
52 Конструктор1С
 
24.05.19
18:24
(50) надо просто в палитре свойств для этих полей поменять свойство Вид с "Поле ввода" на "Поле флажка"
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс