ПётрВладимирович
02.12.2023, 17:40
Доброго времени суток. Подскажите пожалуйста, написал небольшой код для внешней обработки для удаления номенклатуры, которая записана в текстовом файле (выбор будет либо по коду, либо по полному наименованию (для печати))
Дано:
Платформа 1с 8.3.15.1778
Конфигурация УНФ 1.6.22.66
Писал такой код:
&НаСервере
Процедура УдНомНаСервере(ИмяФайла)
ПутьКФайлу = ИмяФайла;
// Создаем объект для чтения
Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.UTF8);
// Читаем файл построчно
Пока Истина Цикл
Строка = Текст.ПрочитатьСтроку();
Сообщить(Строка);
Если Строка = Неопределено Тогда
Прервать;
Иначе
// Ищем элемент справочника по заданному коду (или другому реквизиту)
Если Строка = Справочники.Номенклатура.Н айтиПоКоду(Строка) Тогда
// Помечаем запись на удаление
Строка.ПометкаУдаления = Истина;
Строка.Записать();
КонецЕсли;
КонецЕсли;
КонецЦикла;
Текст.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура УдНом(Команда)
ДиалогВыбора = новый ДиалогВыбораФайла(РежимДи� �логаВыбораФайла.Открытие);
ДиалогВыбора.Заголовок = "Выберите файл";
ДиалогВыбора.Фильтр = "Текстовый документ, *.txt|*.txt";
ДиалогВыбора.Множественны� �Выбор=Ложь;
Если ДиалогВыбора.Выбрать() Тогда
ИмяФайла = ДиалогВыбора.ПолноеИмяФай� �а;
КонецЕсли;
УдНомНаСервере(ИмяФайла);
КонецПроцедуры
Он не помечает на удаление. Что-то я написал сам, где-то помог Chat-GPT.
Я очень сильно начинающий 1С работник. Помогите, или направьте на путь истинный, пожалуйста!
С Уважением, Пётр Владимирович, Ашхабад.
Дано:
Платформа 1с 8.3.15.1778
Конфигурация УНФ 1.6.22.66
Писал такой код:
&НаСервере
Процедура УдНомНаСервере(ИмяФайла)
ПутьКФайлу = ИмяФайла;
// Создаем объект для чтения
Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.UTF8);
// Читаем файл построчно
Пока Истина Цикл
Строка = Текст.ПрочитатьСтроку();
Сообщить(Строка);
Если Строка = Неопределено Тогда
Прервать;
Иначе
// Ищем элемент справочника по заданному коду (или другому реквизиту)
Если Строка = Справочники.Номенклатура.Н айтиПоКоду(Строка) Тогда
// Помечаем запись на удаление
Строка.ПометкаУдаления = Истина;
Строка.Записать();
КонецЕсли;
КонецЕсли;
КонецЦикла;
Текст.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура УдНом(Команда)
ДиалогВыбора = новый ДиалогВыбораФайла(РежимДи� �логаВыбораФайла.Открытие);
ДиалогВыбора.Заголовок = "Выберите файл";
ДиалогВыбора.Фильтр = "Текстовый документ, *.txt|*.txt";
ДиалогВыбора.Множественны� �Выбор=Ложь;
Если ДиалогВыбора.Выбрать() Тогда
ИмяФайла = ДиалогВыбора.ПолноеИмяФай� �а;
КонецЕсли;
УдНомНаСервере(ИмяФайла);
КонецПроцедуры
Он не помечает на удаление. Что-то я написал сам, где-то помог Chat-GPT.
Я очень сильно начинающий 1С работник. Помогите, или направьте на путь истинный, пожалуйста!
С Уважением, Пётр Владимирович, Ашхабад.