Имя: Пароль:
1C
1C 7.7
v7: Работа в подчиненном справочнике.
,
0 Slim747
 
27.03.20
07:40
Здравствуйте форумчане.
Очередная проблемка. Есть справочник Контрагенты у которого в подчинении справочник Договора. У справочника Договора есть в подчинении справочник СрокиПоставкиТМЦ.
В нем есть поля Номенклатура - тип Справочник.Номенклатура. И Количество - тип Число. Необходимо чтобы во время интерактивного заполнения справочника СрокиПостакиТМЦ, при заполнении
поля Количество, поле Номенклатура заполнялось автоматически значением последнего элемента Номенклатура. Не могу сообразить как это можно выкрутить. И можно ли вообще?
1 Kigo_Kigo
 
27.03.20
07:44
Что значит - "автоматически значением последнего элемента Номенклатура" ?
2 welwel
 
27.03.20
07:47
Если есть код, то можно выбрать элементы в порядке кодов в обратном порядке, первый из них
3 Kigo_Kigo
 
27.03.20
07:49
(2) как это ты такое провернешь?
ПорядокКодов();
Синтаксис:
ПорядокКодов()
Назначение:
Установить порядок выборки элементов справочника по возрастанию кода.
Замечание:
Метод вызывается до вызова метода ВыбратьЭлементы.
Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.
4 Voronve
 
27.03.20
07:50
(0) Тебе надо при вводе нового элемента получить/передать сортировку становленную в списке справочника.
5 Slim747
 
27.03.20
07:52
Что значит - "автоматически значением последнего элемента Номенклатура" ?
Если справочник СрокиПоставкиТМЦ содержит элементы, то необходимо определить значение номенклатуры последнего элемента.
В пределах подчинения справочника конечно.
6 Slim747
 
27.03.20
07:55
Пробовал обойти подчиненные элементы при помощи УстановитьВладельца().
Все ОК. Элементы получаю. Получаю и последний. А вот как это найденное значение засунуть в новое значение - вот в этом пока загвоздка.
7 welwel
 
27.03.20
07:55
"В пределах подчинения справочника"
Если автонумерация кодов в пределах подчинения, то примерно этими методами
СоздатьОбъект
ПорядокКодов
ОбратныйПорядок
ВыбратьЭлементы
ПолучитьЭлемент
8 welwel
 
27.03.20
07:56
(6) редактирование в диалоге или в списке?
9 Slim747
 
27.03.20
07:57
ФормаСписка
10 welwel
 
27.03.20
07:58
(9) ПриРедактированииНовойСтроки пробовали уже?
11 Slim747
 
27.03.20
07:59
Не пробовал.Сейчас попробую.
12 Slim747
 
27.03.20
08:29
Процедура ПриРедактированииНовойСтроки()
   Перем п;
   Спр = СоздатьОбъект("Справочник.Срок");
   Спр.ИспользоватьВладельца(Владелец);
   Спр.ВыбратьЭлементы();
   Пока Спр.ПолучитьЭлемент() = 1 Цикл
      п = Спр.Ном;
   КонецЦикла;
   Ном = П;  
КонецПроцедуры
13 Slim747
 
27.03.20
08:29
Проканало!
Элемент добавляется!
14 Slim747
 
27.03.20
08:31
А если элементов типа справочник.Номенклатура несколько
15 Slim747
 
27.03.20
08:32
Т.е 2 поля типа Справочник.Номенклатура.
Есть ли возможность добавлять последнее значение в конкретное поле?
16 Slim747
 
27.03.20
08:55
Решил проблему следующим образом.
Добавил предопределенную процедуру ПриЗаписи()
В ней сделал проверку всех полей Количество, которые соответствуют полям Номенклатура.
Если Количество = 0 Тогда поле Номенклатура очищаем.