Показано с 1 по 4 из 4
Тема: Удаление номенклатуры
Комбинированный просмотр
-
02.12.2023, 16:40 #1
- Регистрация
- 18.08.2023
- Адрес
- Ашхабад
- Сообщений
- 22
- Сказал(а) спасибо
- 4
- Поблагодарили 0 раз(а) в 0 сообщениях
Удаление номенклатуры
Доброго времени суток. Подскажите пожалуйста, написал небольшой код для внешней обработки для удаления номенклатуры, которая записана в текстовом файле (выбор будет либо по коду, либо по полному наименованию (для печати))
Дано:
Платформа 1с 8.3.15.1778
Конфигурация УНФ 1.6.22.66
Писал такой код:
&НаСервере
Процедура УдНомНаСервере(ИмяФайла)
ПутьКФайлу = ИмяФайла;
// Создаем объект для чтения
Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.UTF8);
// Читаем файл построчно
Пока Истина Цикл
Строка = Текст.ПрочитатьСтроку();
Сообщить(Строка);
Если Строка = Неопределено Тогда
Прервать;
Иначе
// Ищем элемент справочника по заданному коду (или другому реквизиту)
Если Строка = Справочники.Номенклатура.Н айтиПоКоду(Строка) Тогда
// Помечаем запись на удаление
Строка.ПометкаУдаления = Истина;
Строка.Записать();
КонецЕсли;
КонецЕсли;
КонецЦикла;
Текст.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура УдНом(Команда)
ДиалогВыбора = новый ДиалогВыбораФайла(РежимДи� �логаВыбораФайла.Открытие);
ДиалогВыбора.Заголовок = "Выберите файл";
ДиалогВыбора.Фильтр = "Текстовый документ, *.txt|*.txt";
ДиалогВыбора.Множественны� �Выбор=Ложь;
Если ДиалогВыбора.Выбрать() Тогда
ИмяФайла = ДиалогВыбора.ПолноеИмяФай� �а;
КонецЕсли;
УдНомНаСервере(ИмяФайла);
КонецПроцедуры
Он не помечает на удаление. Что-то я написал сам, где-то помог Chat-GPT.
Я очень сильно начинающий 1С работник. Помогите, или направьте на путь истинный, пожалуйста!
С Уважением, Пётр Владимирович, Ашхабад.
-
02.12.2023, 18:59 #2
- Регистрация
- 29.11.2013
- Адрес
- Берег Волги
- Сообщений
- 1961
- Сказал(а) спасибо
- 644
- Поблагодарили 10119 раз(а) в 2661 сообщениях
Re: Удаление номенклатуры
Что вы хотите пометить на удаление?
Если Строка = Справочники.Номенклатура.Н айтиПоКоду(Строка) Тогда
Попробуйте так
Если Справочники.Номенклатура.П устаяСсылка()=Справочники.Н оменклатура.НайтиПоКоду(Ст рока) Тогда
Иначе
ТекОб=Справочники.Номенкла тура.НайтиПоКоду(Строка).По лучтьОбъект();
ТекОб.ПометкаУдаления = Истина;
ТекОб.Записать()
КонецЕсли;
-
03.12.2023, 20:22 #3
- Регистрация
- 18.08.2023
- Адрес
- Ашхабад
- Сообщений
- 22
- Сказал(а) спасибо
- 4
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Удаление номенклатуры
Оказывается не проходит проверка. Я даю файл, в котором содержаться цифро-буквенные значения со спец символами (типа дефиз, если код номенклатуры или символ R в круге если наименование номенклатуры)
Сообщить(Строка);
Если Строка = Неопределено Тогда
Прервать;
для этого, я дописал вот это (сейчас, на момент написания этого комментария, я работаю дома и не пишу никаких сложных значений в текстовом документе)
Пока Истина Цикл
Строка = Текст.ПрочитатьСтроку();
Если Строка = Неопределено Тогда
Сообщить(Строка);
Сообщить("Строка не определена");
Прервать;
и функция сообщить мне даёт
1
1
1
1
1
Строка не определена
E:\1.txt
-
04.12.2023, 07:38 #4
- Регистрация
- 29.11.2013
- Адрес
- Берег Волги
- Сообщений
- 1961
- Сказал(а) спасибо
- 644
- Поблагодарили 10119 раз(а) в 2661 сообщениях
Похожие темы
-
Удаление строк
от zhake27 в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 2Последнее сообщение: 14.09.2022, 17:25 -
Удаление данных
от сергейыв в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 1Последнее сообщение: 19.07.2015, 10:17 -
1с 8.1 розница удаление пробелов в коде номенклатуры
от arturzin в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 1Последнее сообщение: 19.03.2012, 19:55 -
Удаление в Vista
от Botanig в разделе Microsoft WindowsОтветов: 6Последнее сообщение: 27.08.2008, 00:35
Социальные закладки