Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 сен 2024, 21:16

Проблема - ошибки в написании модуля

Автор wad_str, 02 ноя 2011, 10:27

0 Пользователей и 1 гость просматривают эту тему.

wad_str

1С 7.7.025 типовая переписанная релиз 530

Привет! Очередная засада....
заполнение ячеек частью текста я победил, правда "заплатка" получилась, я посчитал количество символов
и функцией Сред отобрал жестко 4 символа от порядкового номера следующего за символом №
работает только для одного договора, потому что в разных договорах всё написано по-разному......

   //****************************************для ТОРГ-12 заполнить договор **********************************************
   Ддата = Строка(СокрЛП(Договор.Наименование));           
   Если Найти(Ддата," ")>0 тогда
   Для н=1 по СтрЧислоВхождений(Ддата," ") Цикл
   Ддата=Прав(Ддата, (СтрДлина(Ддата)-Найти(Ддата," ")));
    КонецЦикла;
КонецЕсли;
    ДНомер = Строка(СокрЛП(Договор.Наименование));
   Если Найти(Договор,"№")>0 Тогда
       //Пока  ч<> " " Цикл
      //Для ч=1 по СтрЧислоВхождений(ДНомер," ") Цикл
      ДНомер =Сред(ДНомер,19,4);
   //КонецЦикла;
КонецЕсли;
если использую цикл Пока ч <>.... обработка затыкается и думает бесконечно долго....
а для ч=1 по  Цикл - выбирает всё что угодно только не то что нужно....
//*********************************************************************************
а вот в этом куске принцип тот же, тут жестко в наименовании номенклатуры прописано количество в упаковке,
выдергиваю - дает ошибку
Ит.ВыбратьСубконто(1);
{Документ.РасходнаяНакладная.Форма.Модуль(1051)}: Данная операция допустима только в режиме запроса по аналитике !

   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   Номенкл = СоздатьОбъект("Справочник.Номенклатура");
      Ит.ВыбратьСубконто(1);
      Ит.ПолучитьСубконто(1);
      Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура, , 1);
      Пока Ит.ПолучитьСубконто(1) = 1 Цикл 
            Ит.ВыполнитьЗапрос(, ДатаДок, "41.4,41.1",,, 1,, "К");
         
      КолвоУп = "";
         Врем = "";
         НаименТовара = Ит.ПредставлениеСубконто(1);
         Если Найти(НаименТовара, "(")>0 Тогда
            Врем = НаименТовара;
            Пока (Найти(Врем, "(")>0) и (КолвоУп = "") Цикл
               КолвоУп = Сред(Врем, Найти(Врем, "(")+1, Найти(Врем, ")") - Найти(Врем, "(") - 1);
               Если Число(КолвоУп) = 0 Тогда
                  КолвоУп = "";
               КонецЕсли;
               Врем = Прав(Врем, СтрДлина(Врем) - Найти(Врем, ")"));
               Если КолвоУп <> "" Тогда
                  НаименТовара = СтрЗаменить(НаименТовара, "("+КолвоУп+")", "");
               КонецЕсли;
            
            КонецЦикла;
               КонецЕсли;
            КонецЦикла;   
            Сообщить("Кол-во уп"+КолвоУп);
В чем проблема- так не могу разобраться.... Кто знает - укажите на ошибку пожалуйста. Заранее спасибо!

wad_str

Всем спасибо, разобрался во всём отдельное спасибо Володе volodyja122

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск