Имя: Пароль:
1C
1С v8
1С ERP 2.5 Проблема с ТЧ
0 Byblackmexx
 
19.08.21
12:23
Всем привет. Есть справочник ресурсная спецификация. Я создал кнопки с командой заполнения значения для выделенных строк. Одна кнопка ведет себя нормально, вторая при окончании обхода ТЧ добавляет новую пустую строку. В отладчике поймать не могу, необходима Ваша помощь)
1 saaken
 
19.08.21
12:28
щас открою твой отладчик
2 Byblackmexx
 
19.08.21
12:35
&НаКлиенте
Процедура ЗаполнитьСтатьиКалькуляции(Команда)
    
    Если Элементы.МатериалыИУслуги.ВыделенныеСтроки.Количество() = 0 Тогда
        ТекстПредупреждения = НСтр("en = 'Select lines to fill in a record method for.';
                                    |ru = 'Необходимо выбрать строки, для которых нужно заполнить статью калькуляции.'");
        ПоказатьПредупреждение(,ТекстПредупреждения);
        Возврат;
    КонецЕсли;
    
    МассивСтрок = Новый Массив;
    Для каждого ИдентификаторСтроки Из Элементы.МатериалыИУслуги.ВыделенныеСтроки Цикл
        МассивСтрок.Добавить(ИдентификаторСтроки);
    КонецЦикла;
    
    ОписаниеОповещения = Новый ОписаниеОповещения("ЗаполнитьСтатьюКалькуляцииЗавершение", ЭтотОбъект, Новый Структура("Идентификаторы", МассивСтрок));
    ОткрытьФорму("Справочник.СтатьиКалькуляции.ФормаВыбора", , ЭтаФорма,,,, ОписаниеОповещения);
    
    
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьСтатьюКалькуляцииЗавершение(ВыбранноеЗначение, ДополнительныеПараметры) Экспорт
    
    Если ЗначениеЗаполнено(ВыбранноеЗначение) Тогда
        ЗаполнитьСтатьюКалькуляцииНаСервере(ВыбранноеЗначение, ДополнительныеПараметры.Идентификаторы);
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьСтатьюКалькуляцииНаСервере(ВыбранноеЗначение, Идентификаторы)
    
    ПараметрыДетализации = Новый Структура("Номенклатура");
    
    Для каждого ИдентификаторСтроки Из Идентификаторы Цикл
        ДанныеСтроки = Объект.МатериалыИУслуги.НайтиПоИдентификатору(ИдентификаторСтроки);
        ЗаполнитьЗначенияСвойств(ПараметрыДетализации, ДанныеСтроки);
        НайденныеСтроки = Объект.МатериалыИУслуги.НайтиСтроки(ПараметрыДетализации);
        Для Каждого Строка Из НайденныеСтроки Цикл
            Строка.СтатьяКалькуляции = ВыбранноеЗначение;
        КонецЦикла;    
    КонецЦикла;
    
КонецПроцедуры


Вот процедуры
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.