Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

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

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Другие решения на платформе "1С:Предприятие 8"]

Закрывается программа при закрытии обработки

Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №1
 
09.01.2013 19:22

Самописная конфигурация на 8.1. Из формы обработки вызывается еще одна форма - ФормаПодбора, в ней по строке подбирается номенклатура по коду. Если подходящих позиций несколько то ВыбратьСтроку() . После выбора номенклатуры ФормаПодбора закрывается и передает выбранную номенклатуру в параметр обработки.<br>Вот в момент передачи этого параметра происходит сбой - программа закрывается по ошибке. Причем не на любой номенклатуре, а на некоторых. И именно если первоначально было несколько и выбирали. Пробовала и внешней обработкой и в составе конфигурации - ну никак. Подскажите, у кого какие мысли есть...

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №2
 
09.01.2013 20:24

Есть мысль пройтись отладчиком по коду этого подбора и найти место, на котором программа "падает".

Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №3
 
09.01.2013 20:45

Нашла, вот тут падает. <br> <br>ОбработкаОбъект.Номенклатура = НоменклатураДляПодбора<br> <br>Типы проверила,одинаковые. Обработка в большинстве случаев работает. Каким то образом связано с номенклатурой, полученной выбором из списка. Ума не приложу чем она может отличаться от номенклатуры найденной сразу, если тип одинаковый.

Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №4
 
09.01.2013 20:53

"Процедура ПолеПодбораОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)<br><br> Элемент.Значение = СтрЗаменить(СокрЛП(ОчиститьСтроку(Текст))," ",""""); //тут удаляет лишние символы, оставляет только цифры и буквы<br> <br> Запрос = Новый Запрос;<br> <br> Запрос.Текст = "ВЫБРАТЬ<br> <br> | Номенклатура.Ссылка Как Ном<br> |ИЗ<br> | Справочник.Номенклатура КАК Номенклатура<br> |ГДЕ<br> | Номенклатура.СтрокаДляПоиска = &СтрокаДляПоиска";<br> <br> Запрос.УстановитьПараметр("СтрокаДляПоиска",Элемент.Значение);<br> <br> Результат = Запрос.Выполнить();<br> <br> ТаблицаПоиска = Результат.Выгрузить();<br> <br> Если ТаблицаПоиска.Количество()> 1 Тогда<br> <br> НоменклатураДляПодбора = ТаблицаПоиска.ВыбратьСтроку("Найдено несколько значений").Ном;<br> <br> Иначе<br> <br> НоменклатураДляПодбора = Справочники.Номенклатура.НайтиПоРеквизиту("СтрокаДляПоиска",Элемент.Значение);<br> <br> КонецЕсли; <br> <br>Если НЕ НоменклатураДляПодбора.Пустая() Тогда<br> <br>Запрос = Новый Запрос; Запрос.Текст =//тут получаем остатки по номенклатуре, там еще записи по регистру есть<br> <br> ЭтаФорма.Закрыть(); <br> <br>Иначе<br> <br> НаименованиеНоменклатуры = "Ничего не найдено";<br> <br>КонецЕсли; <br><br><br>Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)<br> <br> ОбработкаОбъект.Номенклатура = НоменклатураДляПодбора; //вот тут падает, пробовала в предыдущую процедуру вставить, перед ЭтаФорма.Закрыть() - не помогло<br> <br>КонецПроцедуры"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №5
 
09.01.2013 21:16

Бррр... какой ужас.<br>Где проверка на то, что запрос ничего не нашел? Где проверка, что могли и не выбрать строку из множества значений? Какое значение принимает переменная "НоменклатураДляПодбора" перед "падением"? Какой тип у реквизита обработки "Номенклатура"?

Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №6
 
09.01.2013 21:26

Спасибо за замечания, учту. Особенно на проверку что могли и не выбрать - не подумала как то... НоменклатураДляПодбора перед падением - СправочникСсылка.Номенклатура. У реквизита обработки такой же.

Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №7
 
09.01.2013 21:36

"В принципе это место даже проходит, возвращается вот сюда, в основную форму. И в конце процедуры падает. Но если заремарить заполнение реквизита в подборе тогда все норм.<br> <br>Процедура ДействияФормыПодобрать(Кнопка)<br> <br> Форма = ЭтотОбъект.ПолучитьФорму("ФормаПодбораНоменклатуры");<br> Форма.ОткрытьМодально();<br> <br>КонецПроцедуры"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №8
 
09.01.2013 21:47

А это идет подбор куда? Странно видеть реквизит "Номенклатура" не привязанным к табличной части. Видеть бы ваш cf, да по рукам бы надавать. :)

Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №9
 
09.01.2013 22:10

"Это заказ на доработку очень своеобразной конфигурации, написанной разными людьми и в разное время. Короче, "письмо из простоквашино". Сама обработка уже была. Задача - изменить форму подбора чтобы при попытке выбора номенклатуры с нулевым остатком программа это регистрировала как упущенную продажу. Плюс поиск без учета символов - только буквы и цифры. Вот есть в ней такой реквизит, и надо заполнить... В основной форме есть табличное поле СписокНоменклатуры. И текущая строка определяется по данному реквизиту.<br>Похоже вот тут собака порылась:<br> <br>Процедура СписокНоменклатурыПриПолученииДанных(Элемент, ОформленияСтрок)<br> <br> Элемент.ТекущаяСтрока = ЭтотОбъект.Номенклатура;<br> <br>КонецПроцедуры<br> <br>При получении данных эта процедура выполняется много-много раз, видимо по количеству номенклатуры. А как по другому передать данные в текущую строку придумать не могу."

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №10
 
09.01.2013 22:41

> Сама обработка уже была. <br> <br>И все работало без "падений"?<br> <br>> программа это регистрировала как упущенную продажу.<br> <br>Как задумано это регистрировать? Для чего это нужно регистрировать? Если регистрировать нужно для последующего анализа, то как реализован этот анализ?<br> <br>> поиск без учета символов - только буквы и цифры<br> <br>Чё? Буквы и цифры это и есть символы...<br> <br>> Вот есть в ней такой реквизит, и надо заполнить...<br> <br>Что за реквизит? Куда и каким боком он?<br> <br>P.S. Видимо не видя cf сложно Вас понять мисс "Лада-НТ".

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация