+7 499 990-10-21

Некорректность написания кода обработки для 7.7

Некорректность написания кода обработки для 7.7

Сообщение Бродяга_Джон » 22 фев 2012, 10:51

Кхм, дело такое.
Полез править свою обработку для транзакций 58 и 59.
Со странички http://dnc-soft.ru/?page_id=25 скачал обработку для 7.7 по ссылке http://dnc-soft.ru/downloads/DNC_Kassa.zip (по дате там стоит 31 01 2011, а файл в архиве от 23 01 2012).

В обработке есть такой кусок кода
Код: Выделить всё
   ДокВозврат.ТипЦен=ДокВозврат.Договор.ВалютаВзаиморасчетов;
   ДокВозврат.СуммаВзаиморасчетов=Окр(ТаблВозвратов.Итог("Сумма"),2,1);
      
   Пока ТаблВозвратов.ПолучитьСтроку()=1 Цикл
      ДокВозврат.НоваяСтрока();
      СпрНоменклатура=СоздатьОбъект("Справочник.Номенклатура");
          ДлинаНомера    =Метаданные.Справочник("Номенклатура").ДлинаКода;
      КодНоменклатуры=глДополнитьСтрокуЛ(СокрЛП(ТаблВозвратов.Код), "0", ДлинаНомера);
      Если СпрНоменклатура.НайтиПоКоду(КодНоменклатуры) = 0 Тогда
         Сообщить("не найдена номеналатура с кодом "+КодНоменклатуры+". Возврат не проведен.");
      Иначе   
         ДокВозврат.Номенклатура=СпрНоменклатура.ТекущийЭлемент();
         ДокВозврат.Количество  =ТаблВозвратов.Количество;
         //---(*)---dnc-soft.ru/forum---[turboatom]---19.05.2011---
         //ДокВозврат.Единица     =СпрНоменклатура.ОсновнаяЕдиница;
         ДокВозврат.Единица     =СпрНоменклатура.БазоваяЕдиница;
         //--------------------------------------------------------

данное написание не корректно, структура
Код: Выделить всё
      СпрНоменклатура=СоздатьОбъект("Справочник.Номенклатура");
          ДлинаНомера    =Метаданные.Справочник("Номенклатура").ДлинаКода;

должна быть перед началом цикла, то есть должно быть так
Код: Выделить всё
   ДокВозврат.ТипЦен=ДокВозврат.Договор.ВалютаВзаиморасчетов;
   ДокВозврат.СуммаВзаиморасчетов=Окр(ТаблВозвратов.Итог("Сумма"),2,1);

      СпрНоменклатура=СоздатьОбъект("Справочник.Номенклатура");
          ДлинаНомера    =Метаданные.Справочник("Номенклатура").ДлинаКода;
      
   Пока ТаблВозвратов.ПолучитьСтроку()=1 Цикл
      ДокВозврат.НоваяСтрока();
      КодНоменклатуры=глДополнитьСтрокуЛ(СокрЛП(ТаблВозвратов.Код), "0", ДлинаНомера);
      Если СпрНоменклатура.НайтиПоКоду(КодНоменклатуры) = 0 Тогда
         Сообщить("не найдена номеналатура с кодом "+КодНоменклатуры+". Возврат не проведен.");
      Иначе   
         ДокВозврат.Номенклатура=СпрНоменклатура.ТекущийЭлемент();
         ДокВозврат.Количество  =ТаблВозвратов.Количество;
         //---(*)---dnc-soft.ru/forum---[turboatom]---19.05.2011---
         //ДокВозврат.Единица     =СпрНоменклатура.ОсновнаяЕдиница;
         ДокВозврат.Единица     =СпрНоменклатура.БазоваяЕдиница;
         //--------------------------------------------------------
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Re: Некорректность написания кода обработки для 7.7

Сообщение Alexander » 22 фев 2012, 13:25

Спасибо, поглядим
Alexander
 
Постов: 4994
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ


Вернуться в Техподдержка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


cron

Кто сейчас на конференции

Сейчас посетителей на конференции: 3, из них зарегистрированных: 0, скрытых: 0 и гостей: 3 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (415) здесь было 07 окт 2025, 11:21

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3