Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 окт 2021, 22:34

Добавление кнопки "Подбор" в табличную часть

Автор r-try, 25 авг 2016, 20:53

0 Пользователей и 1 гость просматривают эту тему.

r-try

Добрый день. Понадобилась база для ведения не большого учета оборудования. Решил написать сам на 1с, заодно разобрать что к чему. Возникла проблема при добавлении кнопки "Подбор" в табличной части документа. Не работает, форма выбора открывается, но строка с номенклатурой не добавляется. Понятно что где-то накосячил, что с наскока нельзя делать, но вот так получилось :)
код // отрабатываем подбор
&НаКлиенте
Процедура Подбор(Команда)
ПараметрыФормы = Новый Структура ("ЗакрыватьПриВыборе", Истина);
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.СписокОборудования);
КонецПроцедуры
// отрабатываем подбор
&НаКлиенте
Процедура СписокОборудованияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Сч =  проверкаНаличия(ВыбранноеЗначение);

Если Сч = 0 Тогда
Элементы.СписокОборудования.ДобавитьСтроку();
Элементы.СписокОборудования.ТекущиеДанные.Номенклатура = ВыбранноеЗначение;
КонецЕсли
КонецПроцедуры
         // отрабатываем подбор
&НаСервере
Функция проверкаНаличия(ВыбранноеЗначение)
Сч = 0;
Для каждого Строч Из Объект.СписокОборудования Цикл
Если Строч.Номенклатура = ВыбранноеЗначение тогда
Строч.Количество = Строч.Количество + 1;// Если товар уже есть - то просто приплюсуем его;
Сч = 1;
КонецЕсли;
КонецЦикла;
Возврат Сч;
КонецФункции

vitasw

Так а что форма подбора возвращает?

Artjomrgv

Цитата: r-try от 25 авг 2016, 20:53
Добрый день. Понадобилась база для ведения не большого учета оборудования. Решил написать сам на 1с, заодно разобрать что к чему. Возникла проблема при добавлении кнопки "Подбор" в табличной части документа. Не работает, форма выбора открывается, но строка с номенклатурой не добавляется.
[/code]

Я конечно "сварщик не настоящий". Тебе здесь опытные программисты напишут вариант лучше. Но на всякий случай попробуй вот. У меня работает.
//
&НаКлиенте
Процедура Подбор(Команда)
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",,Элементы.Номен)
КонецПроцедуры

&НаКлиенте
Процедура НоменОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   
Для Каждого Элемен из Объект.Номен Цикл

Если Элемен.Номенклатура=ВыбранноеЗначение Тогда
Элемен.Количество=Элемен.Количество+1  Иначе
КонецЕсли
КонецЦикла;
Элемент=0;    
Для Каждого Элемен из Объект.Номен Цикл
    Если Элемен.Номенклатура = ВыбранноеЗначение Тогда Элемент=Элемент+1
КонецЕсли
    КонецЦикла;
   Если Элемент=0  Тогда
    Элементы.Номен.ДобавитьСтроку();
    Элементы.Номен.ТекущиеДанные.Номенклатура=ВыбранноеЗначение;
КонецЕсли
КонецПроцедуры

[/quote]

r-try

Цитата: Artjomrgv от 26 авг 2016, 12:58
Цитата: r-try от 25 авг 2016, 20:53
Добрый день. Понадобилась база для ведения не большого учета оборудования. Решил написать сам на 1с, заодно разобрать что к чему. Возникла проблема при добавлении кнопки "Подбор" в табличной части документа. Не работает, форма выбора открывается, но строка с номенклатурой не добавляется.
[/code]

Я конечно "сварщик не настоящий". Тебе здесь опытные программисты напишут вариант лучше. Но на всякий случай попробуй вот. У меня работает.
//
&НаКлиенте
Процедура Подбор(Команда)
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",,Элементы.Номен)
КонецПроцедуры

&НаКлиенте
Процедура НоменОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   
Для Каждого Элемен из Объект.Номен Цикл

Если Элемен.Номенклатура=ВыбранноеЗначение Тогда
Элемен.Количество=Элемен.Количество+1  Иначе
КонецЕсли
КонецЦикла;
Элемент=0;    
Для Каждого Элемен из Объект.Номен Цикл
    Если Элемен.Номенклатура = ВыбранноеЗначение Тогда Элемент=Элемент+1
КонецЕсли
    КонецЦикла;
   Если Элемент=0  Тогда
    Элементы.Номен.ДобавитьСтроку();
    Элементы.Номен.ТекущиеДанные.Номенклатура=ВыбранноеЗначение;
КонецЕсли
КонецПроцедуры

[/quote]

Все также :( Форма выбора открывается, тыкаю номенклатуру, форма закрывается, в табличной части документа пусто. не добавляется.

Artjomrgv

А в событиях формы процедура указана.

r-try

Цитата: Artjomrgv от 26 авг 2016, 14:16
А в событиях формы процедура указана.

Эврика, код переписывал несколько раз, там и пропало указание процедуры. СПС!

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск