Табличная часть справочника #411286


#0 by Sofia
у справочника есть табличная часть, она присутствует на форме. ТЧ называется "ВидыСтажа".Она имеет 4 колонки : Нужно выбрать конкретный вид стажа(например общий).Затем перевести (Лет, Месяцев, дней)только в дни.
#1 by ТелепатБот
#2 by butterbean
а теперь внимание вопрос....
#3 by чувак
С такими внешними данными автору грех работать в одинэсине:^)
#4 by Sofia
Нужно выбрать конкретный вид стажа(например общий).Затем перевести (Лет, Месяцев, дней)только в дни. Как это сделать?)))
#5 by Sofia
и где же мне с такими данными работать?
#6 by чувак
Выйти замуж за богатого и хорошего мужика, нарожать детей и жить счастливо вместе :)
#7 by Sofia
я за деньги не ведусь!сама хочу заработать.Вот и учусь 1с.
#8 by butterbean
что значит "выбрать"?? мышкой в форме или программно??
#9 by butterbean
+ перевод в дни вообще не вопрос: лет*ДнейвГоду + месяцы*ДнейВМесяце + Дни....
#10 by чувак
тогда вариант - богатый и умный одинэсник.
#11 by Sofia
выбрать программно
#12 by Sofia
перевод дней понятен, а как достать именно 1 виж стажа и для него данные дни и месяца...
#13 by Композитор
такого не бывает, не вводи в заблуждениме девушку...
#14 by butterbean
СП и книжки так и не начала читать :-( для каждого строкаТЧ из ТЧ цикл .... и так далее
#15 by wuff
Если стаж = это Тогда ИначеЕсли стаж = вотэто Тогда Иначе КонецЕсли и помести это в цикл прведенный в ;
#16 by чувак
А Нуралиев?
#17 by ASU_Diamond
если бы так всё просто как узнать сколько в этих годах было високосных, как узнать какие месяцы для расчета дней брать, т.к. в разных месяцах разное кол-во дней. Праильно будет хранить дату начала и дату конца
#18 by Композитор
он не одинэсник.
#19 by Ленинград
Ну в ЗУПе всяко функция есть которая переводит ГодовМесяцевДней просто в дни Ну а чтобы выбрать запрос нарисуй, чего стесняешься?
#20 by Композитор
+ в классическом, так сказать, понимании :)))
#21 by Sofia
пишу простой запрос: А он говорит "итератор для значения неопределен" Перебрать невозможно никак???
#22 by чувак
Пока ЭлеметТЧ.Следующий Цикл КонецЦикла
#23 by Stepa86
а где запрос? и вообще стоит сначало в СП глянуть
#24 by Sofia
СП?
#25 by Sofia
а зачем заппрос? все же можно из Тч взять...она на форме.
#26 by Stepa86
Ctrl+Shift+F1
#27 by Sofia
ну так и написал бы что синтаксис-помощник)))
#28 by Sofia
а нельзя разве данные из ТЧ достать просто: ВидыСтажа - это ТЧ в которую вводят данные(год, месяц, день)
#29 by Stepa86
сколько книг по 1С прочитала?
#30 by Alex375
Вообще задача не совсем понятна: что делать в случае если у человека более 1-й записи с требуемым стажем? Вариантов получения данных несколько. Можно пройтись по элементам справочника и в каждом найти в ТЧ строки по условию. А можно построить запрос по ТЧ справочника и получить выборку. Далее с ней работать. Если подробнее будет задача помогу с кодом.
#31 by Sofia
случае если у человека более 1-й записи с требуемым стажем? Непонятен вопрос((( повторяю вопрос.есть табличная часть.данные в нее вводятся вручную. Колонки:  ВидСтажа     |  Лет   |  Месяцев   |  Дней   |         1.общий       |   8    |     4      |   7         2.Непрерывный |   8    |     4      |   7 Нужно выбрать из имеющихся видов стажа только "общий стаж" и посчитать что то типа такого 8лет*365+4мес*30+7дн,т.е. общий стаж только в днях
#32 by Sofia
up
#33 by чувак
(365*Год)+(30.5*Месяц)+День Не катит?
#34 by Alex375
Я кратко набросал 2 варианта. Если есть вопросы задавай. Если есть icq лучше через нее. ВТОРОЙ ВАРИАНТ. Вообще быстрее будет работать.
#35 by Alex375
Кстати пересчет в дни будет не верен. Такой пересчет может только для стат. данных подойти.
#36 by Sofia
не хотелось бы заводить новое перечисление((
#37 by Alex375
Запрос забыл поменять. Вот новый Запрос = Новый Запрос("ВЫБРАТЬ Год, Месяц, День ИЗ Справочник.ТвойСправочник.ТвояТЧ ГДЕ ВидСтажа = ЗНАЧЕНИЕ(Перечисление.ВидСтажа.Общий)");
#38 by NWsFF
ну и не заводи добавь параметр в запрос
#39 by Alex375
а что у тебя вместо перечисления?
#40 by Sofia
не понятно какработает эта запись Отбор.Вставить("ПолеСтажа", ОбщийСтаж);
#41 by Alex375
Отбор.Вставить("Указываешь имя поля в котором хранится вид стажа", Тут указываешь значение, которое используется для ограничения (общий стаж) )
#42 by Ursus maritimus
симпотная девочка. нафиг ей программирование?
#43 by NWsFF
ВТОРОЙ ВАРИАНТ. Вообще быстрее будет работать.
#44 by Sofia
Пишу : Проверяю отладчиком: В отборе храниться поле "вид стажа" со значение "общий стаж".вроде все ок)) дальше.... В выборке в поле "виды стажа" в значении "Справочник ТабличнаяЧасть.Сотрудники.ВидыСтажа".Не понятно(((
#45 by Дуб
"Девушка, а девушка! А давайте познакомимся" (с)
#46 by Alex375
Sofia, у тебя поле "ВидCтажа" какого типа? Судя по коду Строка, но у меня сомнения. После того как получила Строки (получила массив строк) в цикле ты обращаешься к ним через индекс: Строки[н].Год * 365 + Строки[н].Месяц * 30 + Строки[н].День
#47 by Sofia
Вообще ничего не выводит((
#48 by Дуб
пример из ЕСИС смотрела? Там, где отборы...
#49 by Sofia
смотрю щас
#50 by Alex375
Так все же какого типа у тебя поле "ВидСтажа"?
#51 by Sofia
Выборка.ВидыСтажа имеет тип "Справочник ТабличнаяЧасть.Сотрудники.ВидыСтажа"
#52 by Alex375
Не то: у тебя в ТЧ "ВидыСтажа" есть поле "ВидСтажа". Так вот интересно какого типа это поле? Ты в конфигураторе в свойствах поля глянь :). Не надо через отладчик.
#53 by Mitriy
зря ты... через отладчик пусть учится, потом тебе же проще будет...
#54 by Sofia
в ТЧ "ВидыСтажа" колонка "ВидСтажа" есть. это простое поле ввода
#55 by Alex375
Найди в дереве конфигурации справочник, в нем ТЧ и в ней поле Вид стажа. А уже в свойствах этого поля глянь тип :).
#56 by Sofia
СправочникСсылка.ВидыСтажа
#57 by Alex375
Вот! Значит тебе требуется в качестве параметра не "Общий стаж" ставить а ссылку на элемент справочника "ВидыСтажа". Знаешь как это сделать?
#58 by Sofia
как?
#59 by Sofia
Отбор.Вставить("ВидСтажа", Справочники.ВидыСтажа.ОбщийСтаж);
#60 by Alex375
Если это элемент НЕ предопределенный, тогда: Скорее всего у справочника "ВидыСтажа" код не нулевой. Посмотри код элемента "Общий стаж". Что бы получить ссылку на элемент используй Справочники.ВидыСтажа.НайтиПоКоду("Код элемента"). Если код типа Число, тогда Справочники.ВидыСтажа.НайтиПоКоду(Код элемента).
#61 by Alex375
Итого получишь: Отбор.Вставить("ВидСтажа",Справочники.ВидыСтажа.НайтиПоКоду("Код элемента"));
#62 by Alex375
А если элемент предопределенный тогда все проще: Отбор.Вставить("ВидСтажа",Справочники.ВидыСтажа.ИмяЭлементаВКонфигурации); Где вместо "ИмяЭлементаВКонфигурации" подставь соответствующее имя элемента в конфигурации.
#63 by Alex375
Список предопределенных смотреть умеешь?
#64 by Sofia
предопределенный
#65 by Sofia
ну как я и писала ранее Отбор.Вставить("ВидСтажа", Справочники.ВидыСтажа.ОбщийСтаж);
#66 by Alex375
:) ну тогда должно заработать ;)
#68 by Alex375
Правильно, массив. По массиву что бы пройти - еще один цикл. Смотри выше
#69 by Mitriy
прояви упорство, научи ее запросам...
#70 by Alex375
:) если бы она училась у меня, тогда научил бы. Хотя, Sofia, если хочешь я помогу тебе с запросом разобраться. С ним намного удобнее работать.
#72 by Sofia
туплю((( у меня же обозначения другие: Стр =Строки[н].Лет * 365 + Строки[н].Месяцев * 30 + Строки[н].Дней;
#73 by Sofia
он же для всехх выводит.а мне нужно для текущего пользователя...запросом?
#74 by Andry888
Одна фотка, и все... ветка взлетает))))
#75 by Sofia
делать второй отбор? Отбор2.Вставить("ТекущийСотрудник",ЭтотОбъект.Ссылка);
#76 by Alex375
Эх вы. Фотка тут не причем. Sofia, если тебе требуется для текущего пользователя, тогда тебе надо сначала получить ссылку на сотрудника из пользователя. А далее берешь выгрузку из ТЧ этого сотрудника и в цикле по строкам.
#77 by Alex375
Как у тебя пользователь связан с сотрудником?
#78 by Sofia
вот так я получаю текущего сотрудника: ЭтотОбъект.Ссылка
#79 by Sofia
и получаю - Сидоренко!Кто и нужен
#80 by Mitriy
плюнь на все, сделай запросом и будет айс...
#81 by Sofia
блин уже так почти сделали(((
#82 by Alex375
Ага, тогда все просто:
#83 by Mitriy
то, что почти сделали - за это 1С-неги от стыда в аду горят..
#84 by Sofia
ну я еще не совсем 1с ник...я только учусь..мне еще гореть не за что)))
#85 by Sofia
Alex375, спасибо .так работает)))
#86 by Alex375
Дмитрий, девушка еще молодая, не опытная. Если у нее есть тяга к 1С, поможем. Ну а если нет... Тогда все равно безполезно будет про запросы рассказывать ;)
#87 by Sofia
может посоветуешь что почитать такое хорошое..чтоб быстрее научиться?
#88 by Alex375
Обращайся если что. Посоветовать... Попробуй Радчеко полистать. Есть такая эл. книга. А вообще надо опыта набираться. Почаще к синтаксис-помошнику обращаться. Ну и не останавливаться на одном варианте, а искать оптимальный ;)
#89 by Alex375
А еще ставь аську. проще общаться через нее.
#90 by Alex375
Появится желание сделать тоже самое на запросе - помогу :)
#91 by Sofia
А как можно теперь это значение загрузить в ТЗ и там сложить еще с числом)))
#92 by Alex375
Есть ТЗ, а есть элемент формы ТЗ в котором отображается ТЗ. Значение поместить ты можешь в ячейку. Расскажи подробнее что у тебя есть и что ты хочешь получить.
#93 by Sofia
уже добавила..щас на проверку сдам!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С