Имя: Пароль:
1C
1С v8
Учет булева в рн
0 glonas
 
24.03.18
19:20
Всем привет , прошу сильно не пинать за может быть дурацкий вопрос .
В шапке документа расходная накладная есть реквизиты -Водитель , Причина недовоза , Состояние и булево "Уважительная причина" , нужно сделать движения по этим реквизитам и создать отчет по заказам .

Как добавить булево в рн ? В ресурсах же хранятся только числовые значения ? Запутался я , пните в нужном направлении плиииз.

Само задание https://yadi.sk/d/5hGG_5ck3TiSuj
1 один я дАртаньян
 
24.03.18
19:26
РЕквизиты используй.
2 glonas
 
24.03.18
19:29
Дык реквизиты не используются для подсчета сколько лож и истина ?
3 Веселый собака
 
24.03.18
19:31
(0) в 1С- булевы также 0 и 1.
4 Веселый собака
 
24.03.18
19:32
(2) ресурсы- для подсчета
5 один я дАртаньян
 
24.03.18
19:32
(2) Только если по виртуальным таблицам делать отчет.
6 glonas
 
24.03.18
19:33
Если я его запихну в регистры то там либо 1 либо пусто будет ?
7 Веселый собака
 
24.03.18
19:33
(0) ваяй уже сразу оборотный регистр накопления, чего мелочиться ;)
8 glonas
 
24.03.18
19:33
В ресурсы в смысле
9 Веселый собака
 
24.03.18
19:35
(8) В 1С8 есть понятие Ресурсы
10 Остап Сулейманович
 
24.03.18
19:36
(0) Какой нафиг регистр накопления? Что вы там накапливать собрались? Что будет если накопить три раза состояние "Уважительная причина"? Триждыуважительная? И еще и итоги на следующий период переносить?

Если кто-то запретил использовать реквизиты документа - так используйте хотя бы регистр сведений.
11 glonas
 
24.03.18
19:38
Это в задаче так , не я это придумал
12 Веселый собака
 
24.03.18
19:38
(10) Не мешай приобретать ценный опыт.. он сын ошибок трудных.)
13 glonas
 
24.03.18
19:39
Точнее не конкретно про регистр накоплений а сделать движения надо для последующего отчета.
14 glonas
 
24.03.18
19:40
Как здесь отвечать типа как цитированием?
15 Остап Сулейманович
 
24.03.18
19:41
(11) "нужно сделать движения по этим реквизитам и создать отчет по заказам." Где здесь хоть слово за регистр накопления?
Имело бы смысл если бы (например) нужно было в отчете иметь СУММУ недовозов в разрезе "Водитель , Причина недовоза , Состояние и булево "Уважительная причина"". Тогда - да. Регистр накопления самое то.
16 glonas
 
24.03.18
19:43
В моем понимании пока так было , иного примера я за неделю поиска не нашел .
17 Остап Сулейманович
 
24.03.18
19:44
(13) "а сделать движения надо" Кто мешает сделать движения по регистру сведений, с подчинением регистратору? Ну если так уж нужно именно "движения".
18 один я дАртаньян
 
24.03.18
19:44
(15) У регистра накопления есть Реквизиты.
19 Остап Сулейманович
 
24.03.18
19:46
(16) ИМХАется мне, что осознание задачи сильно искажено относительно постановки.
20 glonas
 
24.03.18
19:47
21 Остап Сулейманович
 
24.03.18
19:47
(18) Реквизиты есть у "движения". У накопленного значения ресурса никаких реквизитов нет.
22 glonas
 
24.03.18
19:48
Картинки не вставляются , печалька .
23 glonas
 
24.03.18
19:49
Гипотетический клиент хочет автоматизировать учёт недовезённых водителями заказов.

Так что, нужно:

В документ «РасходнаяНакладная» добавить реквизит «Состояние». Будут доступны только такие состояния:

·                  Принят

·                  В работе

·                  Выполнен

·                  Недовезён

·                  Отменён

В тот же документ добавить реквизит «Причина недовоза». Перечень причин недовоза задаёт пользователь. Реквизит по умолчанию недоступен для редактирования пользователем.

У каждой причины должна быть возможность указать флаг «Уважительная причина».

Если выбрано Состояние «Недовезён» или «Отменён». То реквизит «Причина недовоза» становится доступным.

В тот же документ добавить реквизит «Водитель». Водитель выбирается из справочника «Физические лица».

Доработать движения документа таким образом, чтобы можно было построить по ним отчёт, описанный в следующем пункте.

На основе данных о невыполненных заказах будет реализован отчёт
24 Остап Сулейманович
 
24.03.18
19:49
(20) Звиздетц. Фоткал на нокИю 3110?
25 glonas
 
24.03.18
19:50
Я ни чего не фоткал
26 Остап Сулейманович
 
24.03.18
19:51
(25) Так там разрешение такое, что вообще ничего не разобрать.
27 glonas
 
24.03.18
19:51
Фотка для просмотра , не я фоткал , такое дали http://pixs.ru/showimage/Otchetpng_1708452_29741834.png
28 один я дАртаньян
 
24.03.18
19:52
(23) Еще раз у регистра накопления есть: Измерения, Ресурсы, РЕквизиты.

В реквизиты ты можешь писать, что угодно. Да, это будет недоступно в виртуальных таблицах.

Если тебе принципиально, в ресурсах и надо подсчитывать. Делай числовое значение и пиши 1 или 0.
29 Остап Сулейманович
 
24.03.18
19:52
(23) "На основе данных о невыполненных заказах будет реализован отчёт". Отсюда плс поподробней.
30 glonas
 
24.03.18
19:53
Это все что дали
31 glonas
 
24.03.18
19:54
Документ с заданием https://yadi.sk/d/5hGG_5ck3TiSuj
32 Веселый собака
 
24.03.18
20:00
(24) Там слева бабы голые почти.
33 Остап Сулейманович
 
24.03.18
20:04
(27) Другое дело.
Не нужно там учитывать булевы реквизиты.
Раз задача стоит именно использовать РН - я бы сделал такую структуру
Измерения :
   Водитель
Ресурсы
   Заказов       (Число, 10) //при проведении писал бы "1"
   Выполнен  (Число, 1)  //при проведении писал "0"/"1"
   НеВыполненУважительно (Число, 1)  //при проведении писал "0"/"1"

Тогда выборка по регистру СУММА(Заказов) даст колонку 2
СУММА(Выполнен) - даст колонку 3
СУММА(НеВыполненУважительно) - даст колонку 5
все остальное считается и хранить его не нужно.
34 Остап Сулейманович
 
24.03.18
20:08
+(33) Хотя решение, конечно не лучшее. По правильному - нужно завести перечисление со статусами типа "выполнен", "не выполнен уважительно", "не выполнен неуважительно". И тогда
иметь структуру такую :

Измерения :
-Водитиель
-Статус
Ресурсы :
- Количество

Тогда можно что называется влоб считать любые цифири твоего отчета.
35 Остап Сулейманович
 
24.03.18
20:11
+ (34)
При проведении писать что то типа такого :

Движение.Водитель = ...
Движение.Статус = ...
Движение.Количество = 1;

ЗЫ. Хотя такой вариант мне тоже не сильно нравится. Не плодите сущностей сверх необходимого. Отчет можно построить выборкой по "проведенным" заказам? Значит так и нужно делать.
36 h-sp
 
24.03.18
20:17
(31) а где тут написано, что использовать РН?
37 glonas
 
24.03.18
20:20
(34) Перечисления сделал в первую очередь , прячется все что должно прятаться голову только сломал насчет подсчета всего этого , спасибки за подсказки , буду пробовать .
38 glonas
 
24.03.18
20:25
как то путает "5.Доработать движения документа таким образом, чтобы можно было построить по ним отчёт, описанный в следующем пункте" И
"6.На основе данных о невыполненных заказах будет реализован отчёт вида"
Значит регистр все же нужен "Не выполненные задания"?
39 glonas
 
24.03.18
20:28
(36) Ваши предложения ? Буду рад прислушаться .
40 один я дАртаньян
 
24.03.18
20:31
(39) Тебе уже несколько раз сказали у РН есть реквизиты.
41 hhhh
 
24.03.18
20:32
(38) не, предложения - это вы сами. Просто не надо заказчиков за дебилов выставлять. Всё-таки задание нормальное.
42 glonas
 
24.03.18
20:36
(41) Это не заказчики , я просто учусь , задание нарыл при скачивании уроков с инета .
43 glonas
 
24.03.18
20:43
(40) Я от вас только это слышал , спасибо , приму к сведению .
44 один я дАртаньян
 
24.03.18
20:52
(43) Тогда в чем вопрос? Хочешь фиксировать в булево используй реквизиты, хочешь, чтобы виртулаьные таблицы считали, делай ресурс 1 и 0. Думать тут не о чем.
45 exwill
 
24.03.18
22:31
Почему-то никто не сказал про измерение?
46 glonas
 
28.03.18
16:30
Спасибки всем , вроде как получилось все , проблема одна осталась , как в скд в одну ячейку запихнуть % и сумму ?Типа  2.3%  6 .
47 glonas
 
29.03.18
19:25
Разобрался , все работает , может кто подскажет как можно было сделать правильнее .
Движения по РН .
Code
Движения.ОтчетЗакупок.Записывать = Истина;
    Движение = Движения.ОтчетЗакупок.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.Водитель = Водитель ;
    Если   Состояние = Перечисления.СостояниеЗаказа.Недовоз или
        Состояние = Перечисления.СостояниеЗаказа.Выполнен  или
        Состояние = Перечисления.СостояниеЗаказа.Отказ
        Тогда
        Движение.КоличествоЗаявок = 1;
    КонецЕсли;    
    
    Если
        Состояние = Перечисления.СостояниеЗаказа.Недовоз или
        Состояние = Перечисления.СостояниеЗаказа.Отказ
        Тогда
        Движение.НеВыполненые = 1
    КонецЕсли;
    
    Если УважительнаяПричина  Тогда
        Движение.НеУважительно = 0 ;
        Движение.УважительнаяПричина =1  ;
    Иначе
        Движение.НеУважительно = 1    
    КонецЕсли;
    Если Состояние = Перечисления.СостояниеЗаказа.Выполнен
        Тогда
        Движение.Выполнен = 1  ;
        Движение.НеУважительно = 0 ;
    КонецЕсли;
    
    Если Состояние = Перечисления.СостояниеЗаказа.ВРаботе или
        Состояние = Перечисления.СостояниеЗаказа.Принят
        Тогда
        Движение.НеУважительно = 0
    КонецЕсли;
Code
Как код то вставить ?
48 glonas
 
29.03.18
19:27
ООО , умный форум.
И в форме
Процедура СостояниеПриИзменении(Элемент)
                                                              
    Если Элементы.Состояние.ВыделенныйТекст = "Принят" или
        Элементы.Состояние.ВыделенныйТекст = "В работе" или
        Элементы.Состояние.ВыделенныйТекст = "Выполнен"  Тогда
        
        Элементы.Причина.Доступность = Ложь
иначе
        Элементы.Причина.Доступность = Истина
    КонецЕсли

КонецПроцедуры
49 Сияющий в темноте
 
29.03.18
21:59
Мне кажется, что "Уважительность" нужно писать в измерение (последнее), тогда можно будет выбирать как итоги без него, так и итоги в разрезе "Уважительности".
50 glonas
 
29.03.18
23:04
(49)Если не секрет , как вы узнали что у меня "Уважительные" в ресурсе ?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.