Имя: Пароль:
1C
Админ
Получение свойства номенклатуры
0 frolprixan
 
03.04.12
08:33
Столкнулся с такой проблемой. Не так давно в 1с опыта особого нет. Есть документ заказ поставщику, так-же есть номенклатура, где в доп свойствах, есть значение сертификаты. В них есть даты начала и окончания годности сертификатов. Сейчас начальство поставило задачу, чтобы при формирование заявки у оператора, если сертификат просрочен, то документ не проводился и в служебных сообщениях выскакивала ошибка, "что такая-то строка срок действия сертификата истек". Подскажите пожалуйста как это можно реализовать.
1 Wobland
 
03.04.12
08:34
(0) проверять дату сертификата в обработке проведения, делать отказ в истину и страшно ругаться. ругаться лучше в скобках #Если Клиент
2 frolprixan
 
03.04.12
08:35
Сам принцип работы, я понимаю. Но как это реализовать в коде, не представляю
3 LegO
 
03.04.12
08:40
Перебираешь каждую строчку таблицы с Номенклатурой  и  обращаешься запросом к регистру сведений ЗначенияСвойствОбъектов  (где Объект = твоя Номенклатура и  Свойство = Сертификат) и смотришь истекла Дата или нет.
4 Wobland
 
03.04.12
08:40
(2) >если сертификат просрочен
как узнаешь?
5 frolprixan
 
03.04.12
08:46
С датой заказника, при проведение чтобы сверялось с датой заказа и датой окончания действия сертификата.
6 frolprixan
 
03.04.12
08:46
А можно пример кода?!
7 Defender aka LINN
 
03.04.12
08:48
(6) В обмен на пример зарплаты. Ну, чтобы все по-честному было.
8 Wobland
 
03.04.12
08:49
(7) а как тут деньги в сообщение вставлять? ;)
9 frolprixan
 
03.04.12
08:51
Думаю вам тоже в начале вашего пути в разработке 1с помогали, и не только за деньги...;)
10 dk
 
03.04.12
08:53
(9) тебе кусок кода не поможет
нужно еще найти куда его вставить
а оба ответа - это уже готовое решение, а халявщиков не любят
11 frolprixan
 
03.04.12
08:55
(9) Куда его вставить я уже знаю. А то что халявщиков не любят и это я тоже знаю!
12 frolprixan
 
03.04.12
08:55
(10) Куда его вставить я уже знаю. А то что халявщиков не любят и это я тоже знаю!
13 Wobland
 
03.04.12
08:57
(9) вот мне код писать лениво, пусть даже мои пояснения превзошли бы его по объёму
14 LegO
 
03.04.12
09:02
(12) Халявщик в данном случае твой работодатель.  
1. Опиши какая база хоть (УТ, УПП)
2. Значение свойств может хранить только одно значение для связки Объект+Сертификат,  значит у тебя 2 свойства  
Сертификат (дата начала)  и Сертификат (дата окончания)  ????
15 butterbean
 
03.04.12
09:03
(14) даты - это реквизиты сертификата
16 butterbean
 
03.04.12
09:04
(12) накидай запрос к регистру сведений ЗначенияСвойствОбъектов
17 dk
 
03.04.12
09:04
(11) ну и покажи код, куда ты вставлять собираешься
18 frolprixan
 
03.04.12
09:05
(14) Очень даже может быть!
1. База ТКПТ
2. Нет, свойство только одно Дата окончания, дата начала не интересует.
19 frolprixan
 
03.04.12
09:06
(12) Сейчас этим занимаюсь
20 frolprixan
 
03.04.12
09:06
(16) Сейчас этим занимаюсь
21 frolprixan
 
03.04.12
09:07
Простите за столько сообщений, не привык пока:)
22 frolprixan
 
03.04.12
09:09
(17) Весь модуль документа отправить?! Хочу поместить в функцию "Проверка корректности заполнения объекта". В ней проводится проверка по документам согласования цен и проверка основного, альтернативного поставщика. Думаю что там ей самое место:)
23 Wobland
 
03.04.12
09:10
(22) >Весь модуль документа отправить?
не стесняйся, здесь любят читать километровые простынки
24 frolprixan
 
03.04.12
09:14
(23) Вот описание этой обработки

Проверяет корректность заполнения объекта.
// Возвращает Истина если все заполнено корректно и Ложь иначе.
// В случае некорректного заполнения формирует строку описанием возникших ошибок "Ошибки"
25 Wobland
 
03.04.12
09:21
(24) неплохая идея. посмотри, как там проверяется что-то другое, и сделай так же
26 dk
 
03.04.12
09:21
(24) значит ты еще не понял куда вставлять код )
27 Ranger_83
 
03.04.12
09:26
(0)Какая конфа?
28 frolprixan
 
03.04.12
09:29
(26) Если бы не знал не спрашивал!
29 frolprixan
 
03.04.12
09:29
(27) 1С-Рарус: ТКПТ v8 (08.1.17.01)
30 Ranger_83
 
03.04.12
09:30
а увидел...делай так:
Делаешь запрос по табличной части документа и левым соединением прицепляешь доп.свойства из регистра сведений "ЗначенияСвойствОбъектов"(как правило).Далее анализируешь выборку и отменяешь запись документа с предупреждением.
31 aspirant
 
03.04.12
09:40
Номен.ДатаСертификата = РегистрыСведений.ЗначенияСвойствОбъектов.Получить(Новый Структура("Объект,Свойство",Номенклатура,ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ДатаСертификата"))).Значение;
32 aspirant
 
03.04.12
09:41
в процедуру проведения (модуль документа) прямо в начало процедуры ставь цикл с кодом в (31) и потом проверку, если дата меньше даты заявки, то все, возврат() и алескапут.
33 frolprixan
 
03.04.12
09:44
(32) Спасибо большое! Сейчас буду пробовать!
34 aspirant
 
03.04.12
09:45
можно конечно и как (30) - типа более технично...
35 frolprixan
 
03.04.12
09:46
(30) Спасибо большое! Буду сейчас пробовать!
36 frolprixan
 
03.04.12
09:46
Как чего сделаю напишу.
Независимо от того, куда вы едете — это в гору и против ветра!