Вход | Регистрация

Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

Небольшая обработка справочника

Ø
Я
   NVK
05.11.04 - 15:08
В наименовании справочника нужно найти дефис, отбросить правую часть, включая дефис и записать в наименование. Но что- то делаю не так. Не получилось. Подскажите, пожалуйста.
Процедура Выполнить()
Спр = СоздатьОбъект("Справочник.МестаХранения");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() > 0 Цикл
    П_МХран=Строка(Спр.Наименование);
    П_Имя = "";
    Разд = Найти(П_МХран,"-");
  Если 0 < Разд Тогда
    Имя = Имя+Лев(П_МХран,Разд-1);
  КонецЕсли;
  Дата1 = (НачГода(РабочаяДата()));
Спр.Наименование.Установить(Дата1,Имя);
КонецЦикла;
КонецПроцедуры
 
  Рекламное место пустует
   Джинн
1 - 05.11.04 - 15:10
Записать()
   Меланхоличный ворон
2 - 05.11.04 - 15:10
Наименование периодический реквизит? Что-то новое.
   Хряк
3 - 05.11.04 - 15:12
>Спр.Наименование.Установить(Дата1,Имя);???
Спр.Наименование=Имя
И еще порядокКодов
   Dump
4 - 05.11.04 - 15:15
П_Имя = "";
Имя = Имя+Лев(П_МХран,Разд-1);
   NVK
5 - 05.11.04 - 15:16
прошу прощения, не наименование, а МОЛ.
Процедура Выполнить()
Спр = СоздатьОбъект("Справочник.МестаХранения");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() > 0 Цикл
    П_МХран=Строка(Спр.Наименование);
    П_Имя = "";
    Разд = Найти(П_МХран,"-");
  Если 0 < Разд Тогда
    Имя = Имя+Лев(П_МХран,Разд-1);
  КонецЕсли;
  Дата1 = (НачГода(РабочаяДата()));
Спр.МОЛ.Установить(Дата1,Имя);
КонецЦикла;
КонецПроцедуры
   Dump
6 - 05.11.04 - 15:19
Вместо П_Имя = ""; напиши Имя = "";
   NVK
7 - 05.11.04 - 15:31
При выполнении ошибка в строке
Спр.МОЛ.Установить(Дата1,Имя);
Поле агрегатного объекта не установлено (Установить).
Что неправильно?
   Джинн
8 - 05.11.04 - 15:33
То 7. Либо МОЛ не периодический реквизит. Либо раньше применяется ИспользоватьДату.
   Dump
9 - 05.11.04 - 15:33
Процедура Сформировать()
  Дата1 = (НачГода(РабочаяДата()));
  СпрМол = СоздатьОбъект("Справочник.Сотрудники");
  Спр = СоздатьОбъект("Справочник.МестаХранения");
  Спр.ВыбратьЭлементы();
  Пока Спр.ПолучитьЭлемент() > 0 Цикл
    П_МХран=Строка(Спр.Наименование);
      Сообщить(П_МХран);
    Имя = "";
    Разд = Найти(П_МХран,"-");
    Если 0 < Разд Тогда
      Имя = Имя+Лев(П_МХран,Разд-1);
      Сообщить(Имя);
      Если СпрМол.НайтиПоНаименованию(Имя)=1 Тогда
        Спр.МОЛ=СпрМол.ТекущийЭлемент();
        Спр.Записать();
      КонецЕсли;
    КонецЕсли;
  КонецЦикла;
КонецПроцедуры
Попробуй так
   AlexP
10 - 05.11.04 - 15:49
Очень интересная обработка.
Есть склады: Склад-1 и Склад-2, после обработки в поле МОЛ у Склад-1 будет Склад, а у Склад-2 будет СкладСклад.
Интересно, зачем это надо?
 
  Рекламное место пустует
   NVK
11 - 05.11.04 - 15:59
(9) попробовала, Спр.Мол не записалось.
(10)Есть склад Ц1-КОМ, Ц1-МБП, нужно, чтобы в поле МОЛ появилось Ц1
   AlexP
12 - 05.11.04 - 16:12
(11) У тебя переменная "Имя", которая записывается в поле МОЛ, накопительная:
"Имя = Имя+Лев(П_МХран,Разд-1);"
Обнуляй переменную после записи.
   Джинн
13 - 05.11.04 - 16:26
СпрМол = СоздатьОбъект("Справочник.Сотрудники");
Спр    = СоздатьОбъект("Справочник.МестаХранения");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() > 0 Цикл
  П_МХран = Строка(Спр.Наименование);
  Имя = "";
  Разд = Найти(П_МХран,"-");
  Если 0 < Разд Тогда
    Имя = Имя + Лев(П_МХран,Разд-1);
    Если СпрМол.НайтиПоНаименованию(Имя) = 1 Тогда
      Спр.МОЛ=СпрМол.ТекущийЭлемент();
    Иначе
      СпрМол.Новый();
      СпрМол.Наименование = Имя;
      СпрМол.Записать();
      Спр.МОЛ=СпрМол.ТекущийЭлемент();
    КонецЕсли;
  КонецЕсли;
  Спр.Записать();
КонецЕсли;
КонецЦикла;
   economist
14 - 09.11.04 - 13:32
Если надо "Гайка -шт" превратить в просто "Гайка", то лучше Печать Справочников (RefPrint) - в Excel, ПСТР(ПОИСКПОЗ(" -"....) - и загрузить из Excel обратно в 1С через Refimport. Там же, в эксельке, можно сделать и нечеткий поиск и т.д. Только Коды сохраняйте!



Список тем форума

Форум Территория 1С

Рекламное место пустует  
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует