|
заполнение табличного поля | ☑ | ||
---|---|---|---|---|
0
Orthodoxxx_
Reprobate 27.02.12
✎
15:27
|
в таблицу не вписывается номенклатура, помеченная на удаление (при нажатии кнопки загрузить). подскажите что не правильно в коде
Процедура КнопкаВыполнитьНажатие(Кнопка) ТекстЗапроса = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНеИспользовать)"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ГруппаНеИспользовать", ГруппаНоменклатуры); РезультатЗапроса = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0; ЭлементыФормы.Индикатор1.МаксимальноеЗначение = РезультатЗапроса.Количество(); Обработано = 0; Для Каждого стрНоменклатура Из РезультатЗапроса Цикл НоменклатураОбъект = стрНоменклатура.Номенклатура.ПолучитьОбъект(); Если СтрЧислоВхождений(НоменклатураОбъект.Наименование, "!!!НЕ ИСПОЛЬЗОВАТЬ!!! ") = 0 И НоменклатураОбъект.Ссылка <> ГруппаНоменклатуры Тогда НоменклатураОбъект.Наименование = "!!!НЕ ИСПОЛЬЗОВАТЬ!!! " + НоменклатураОбъект.Наименование; НоменклатураОбъект.Записать(); КонецЕсли; Обработано = Обработано + 1; ЭлементыФормы.Индикатор1.Значение = Обработано; КонецЦикла; КонецПроцедуры Процедура ПриОткрытии() ГруппаНоменклатуры = Справочники.Номенклатура.НайтиПоКоду("М4.00868 "); КонецПроцедуры Процедура ОсновныеДействияФормыкнПереместить(Кнопка) ТекстЗапроса = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ПометкаУдаления = ИСТИНА | И (НЕ Номенклатура.Ссылка В ИЕРАРХИИ (&ГруппаУдаленных)) | И Номенклатура.ЭтоГруппа = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | Номенклатура.Ссылка"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ГруппаУдаленных", ГруппаНоменклатуры); РезультатЗапроса = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0; ЭлементыФормы.Индикатор1.МаксимальноеЗначение = РезультатЗапроса.Количество(); Обработано = 0; Для Каждого стрНоменклатура Из РезультатЗапроса Цикл НоменклатураОбъект = стрНоменклатура.Номенклатура.ПолучитьОбъект(); НоменклатураОбъект.Комментарий = "Перенесено автоматически из группы: " + НоменклатураОбъект.Родитель; НоменклатураОбъект.Родитель = ГруппаНоменклатуры; НоменклатураОбъект.Записать(); Обработано = Обработано + 1; ЭлементыФормы.Индикатор1.Значение = Обработано; КонецЦикла; КонецПроцедуры Процедура ОсновныеДействияФормыЗагрузить(Кнопка) // Вставить содержимое обработчика. ТекстЗапроса = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ПометкаУдаления = ИСТИНА | И (НЕ Номенклатура.Ссылка В ИЕРАРХИИ (&ГруппаУдаленных)) | И Номенклатура.ЭтоГруппа = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | Номенклатура.Ссылка"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ГруппаУдаленных", ГруппаНоменклатуры); РезультатЗапроса = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0; ЭлементыФормы.Индикатор1.МаксимальноеЗначение = РезультатЗапроса.Количество(); Обработано = 0; Для Каждого стрНоменклатура Из РезультатЗапроса Цикл НоменклатураОбъект = стрНоменклатура.Номенклатура.ПолучитьОбъект(); НоменклатураОбъект.Комментарий = "Перенесено автоматически из группы: " + НоменклатураОбъект.Родитель; НоменклатураОбъект.Родитель = ГруппаНоменклатуры; НоменклатураОбъект.Записать(); Обработано = Обработано + 1; ЭлементыФормы.Индикатор1.Значение = Обработано; Результат = Запрос.Выполнить().Выгрузить(); ТабличноеПоле.Загрузить(); ТабличноеПоле = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.Результат.СоздатьКолонки(); КонецЦикла; КонецПроцедуры |
|||
1
mikecool
27.02.12
✎
15:28
|
наверное здесь И (НЕ Номенклатура.Ссылка В ИЕРАРХИИ (&ГруппаУдаленных))
|
|||
2
Alex S D
27.02.12
✎
15:31
|
и нафиг запрос в цикле гоняешь, когда есть результат еще до цикла??
|
|||
3
Orthodoxxx_
Reprobate 27.02.12
✎
16:01
|
выдает такую ошибку
{Форма.Форма.Форма(77)}: Поле объекта недоступно для записи (РезультатЗапроса) РезультатЗапроса = Запрос.Выполнить().Выгрузить(); |
|||
4
Orthodoxxx_
Reprobate 27.02.12
✎
17:24
|
разобрался, теперь работает
Процедура КнопкаВыполнитьНажатие(Кнопка) ТекстЗапроса = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНеИспользовать)"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ГруппаНеИспользовать", ГруппаНоменклатуры); РезультатЗапроса = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0; ЭлементыФормы.Индикатор1.МаксимальноеЗначение = РезультатЗапроса.Количество(); Обработано = 0; Для Каждого стрНоменклатура Из РезультатЗапроса Цикл НоменклатураОбъект = стрНоменклатура.Номенклатура.ПолучитьОбъект(); Если СтрЧислоВхождений(НоменклатураОбъект.Наименование, "!!!НЕ ИСПОЛЬЗОВАТЬ!!! ") = 0 И НоменклатураОбъект.Ссылка <> ГруппаНоменклатуры Тогда НоменклатураОбъект.Наименование = "!!!НЕ ИСПОЛЬЗОВАТЬ!!! " + НоменклатураОбъект.Наименование; НоменклатураОбъект.Записать(); КонецЕсли; Обработано = Обработано + 1; ЭлементыФормы.Индикатор1.Значение = Обработано; КонецЦикла; КонецПроцедуры Процедура ПриОткрытии() ГруппаНоменклатуры = Справочники.Номенклатура.НайтиПоКоду("М4.00868 "); КонецПроцедуры Процедура ОсновныеДействияФормыкнПереместить(Кнопка) Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ГруппаУдаленных", ГруппаНоменклатуры); РезультатЗапроса = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0; ЭлементыФормы.Индикатор1.МаксимальноеЗначение = РезультатЗапроса.Количество(); Обработано = 0; Для Каждого стрНоменклатура Из РезультатЗапроса Цикл НоменклатураОбъект = стрНоменклатура.Номенклатура.ПолучитьОбъект(); НоменклатураОбъект.Комментарий = "Перенесено автоматически из группы: " + НоменклатураОбъект.Родитель; НоменклатураОбъект.Родитель = ГруппаНоменклатуры; НоменклатураОбъект.Записать(); Обработано = Обработано + 1; ЭлементыФормы.Индикатор1.Значение = Обработано; КонецЦикла; КонецПроцедуры Процедура ОсновныеДействияФормыЗагрузить(Кнопка) // Вставить содержимое обработчика. ТекстЗапроса = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ПометкаУдаления = ИСТИНА | И (НЕ Номенклатура.Ссылка В ИЕРАРХИИ (&ГруппаУдаленных)) | И Номенклатура.ЭтоГруппа = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | Номенклатура.Ссылка"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("ГруппаУдаленных", ГруппаНоменклатуры); РезультатЗапроса = Запрос.Выполнить().Выгрузить(); ТабличнаяЧасть1.Загрузить(РезультатЗапроса); ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0; ЭлементыФормы.Индикатор1.МаксимальноеЗначение = РезультатЗапроса.Количество(); Обработано = 0; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |