Привет всем...
С этом кодом я могу удалить
Определенные товары из документа.
Например в документе есть
Товар по именем Товар1.2 , этот товар
Находится в родителе Родитель1
Я могу указать его наименование , и
Удалить из документа все записи
Этого товара.
Но требуется сделать что-то другое!
ЗАДАЧА ТАКАЯ !
Например в этот раз мне нужно удалить из документа ВСЕ те записи, которые находятся в Родитель2.
А в следующий раз понадобится удалить те ЗАПИСИ, которые находиться в Родитель3 или Родитель1
В коде я не могу указать родителя !!! ПОМОГИТЕ !!!
Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОприходованиеТоваров.Ссылка
|ИЗ
| Документ.ОприходованиеТоваров КАК ОприходованиеТоваров
|ГДЕ
| ОприходованиеТоваров.Ссылка В ИЕРАРХИИ(&Ссылка)";
Запрос.УстановитьПараметр("Ссылка", ПолеВвода1);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Ссылка=ВыборкаДетальныеЗаписи.Ссылка;
Док = Ссылка.получитьобъект();
КолВо = Док.Товары.Количество()-1;
ИндексСтроки = КолВо;
Для Счетчик = 0 по КолВо Цикл
Запись = Док.Товары.Получить(ИндексСтроки);
Если Запись.Товар = ПолеВвода2 Тогда
Сообщить(Запись.Товар);
Док.Товары.Удалить(Запись);
Док.Записать();
КонецЕсли;
ИндексСтроки = ИндексСтроки - 1;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
ПоказатьС этом кодом я могу удалить
Определенные товары из документа.
Например в документе есть
Товар по именем Товар1.2 , этот товар
Находится в родителе Родитель1
Я могу указать его наименование , и
Удалить из документа все записи
Этого товара.
Но требуется сделать что-то другое!
ЗАДАЧА ТАКАЯ !
Например в этот раз мне нужно удалить из документа ВСЕ те записи, которые находятся в Родитель2.
А в следующий раз понадобится удалить те ЗАПИСИ, которые находиться в Родитель3 или Родитель1
В коде я не могу указать родителя !!! ПОМОГИТЕ !!!
Прикрепленные файлы:
По теме из базы знаний
- Программирование и отладка бизнеса: стань самым ценным сотрудником
- 1С-ники могут все, но они не могут все сразу. Рекомендации по внедрению Канбан-системы для проектов 1С
- «Интересно там, где платят». Типичный 1С-ник 2022: удаленка, недовольство зарплатой и 10+ лет опыта
- Я не любил спорт, но полюбил кроссфит. Очередная история о спорте и программисте
- Идеальное место работы для ЗУПера... Какое оно?! Часть 1. Негативные тенденции, ненужные знания.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Хирург модератор в таких случаях радикально помогает...
(3)
При этом свою конфигурацию не счел нужным указать.
P.S. Я понимаю - новичок на форуме, но голову-то включать иногда нужно?
ПОМОГИТЕ !!!
(3)
// либо просто сделать
Еще проще - забанить автора за оформление темы: "украсил" свой вопль тегами всех возможных конфигураций, в том числе - 7.7. Спрашивается - они тут каким боком вообще?
При этом свою конфигурацию не счел нужным указать.
P.S. Я понимаю - новичок на форуме, но голову-то включать иногда нужно?
Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОприходованиеТоваров.Ссылка
|ИЗ
| Документ.ОприходованиеТоваров КАК ОприходованиеТоваров
|ГДЕ
| ОприходованиеТоваров.Ссылка В ИЕРАРХИИ(&Ссылка)";
Запрос.УстановитьПараметр("Ссылка", ПолеВвода1);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Ссылка=ВыборкаДетальныеЗаписи.Ссылка;
Док = Ссылка.получитьобъект();
КолВо = Док.Товары.Количество()-1;
ИндексСтроки = КолВо;
Для Счетчик = 0 по КолВо Цикл
Запись = Док.Товары.Получить(ИндексСтроки);
Если Запись.Товар = ПолеВвода2 Тогда
Сообщить(Запись.Товар);
Док.Товары.Удалить(Запись);
Док.Записать();
КонецЕсли;
ИндексСтроки = ИндексСтроки - 1;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
ПоказатьПроцедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОприходованиеТоваров.Ссылка
|ИЗ
| Документ.ОприходованиеТоваров КАК ОприходованиеТоваров
|ГДЕ
| ОприходованиеТоваров.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ПолеВвода1);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЗаписатьДок = ложь;
Док = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
КолВо = Док.Товары.Количество()-1;
ИндексСтроки = КолВо;
Для Счетчик = 0 по КолВо Цикл
Запись = Док.Товары.Получить(ИндексСтроки);
Если (ПолеВвода2.ЭтоГруппа И Запись.Товар.Родитель = ПолеВвода2)
ИЛИ (НЕ ПолеВвода2.ЭтоГруппа И Запись.Товар= ПолеВвода2) Тогда
Сообщить(Запись.Товар);
Док.Товары.Удалить(Запись);
ЗаписатьДок = истина;
КонецЕсли;
ИндексСтроки = ИндексСтроки - 1;
КонецЦикла;
Если ЗаписатьДок тогда
Док.Записать();
Конецесли;
КонецЦикла;
КонецПроцедуры
Показать// либо просто сделать
ЗаписатьДок = ложь;
Док = ПолеВвода1.ПолучитьОбъект();
КолВо = Док.Товары.Количество()-1;
ИндексСтроки = КолВо;
Для Счетчик = 0 по КолВо Цикл
Запись = Док.Товары.Получить(ИндексСтроки);
Если (ПолеВвода2.ЭтоГруппа И Запись.Товар.Родитель = ПолеВвода2)
ИЛИ (НЕ ПолеВвода2.ЭтоГруппа И Запись.Товар= ПолеВвода2) Тогда
Сообщить(Запись.Товар);
Док.Товары.Удалить(Запись);
ЗаписатьДок = истина;
КонецЕсли;
ИндексСтроки = ИндексСтроки - 1;
КонецЦикла;
Если ЗаписатьДок тогда
Док.Записать();
Конецесли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот