|
Обработка внешнего события | ☑ | ||
---|---|---|---|---|
0
gurtas39
20.09.12
✎
11:01
|
народ, помогите разобраться....
{ВнешняяОбработка.ТОСервер.МодульОбъекта(3027,2)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction') <<?>>ИначеЕсли Лев(ШК,4) = "UIDR" Тогда (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ТОСервер.МодульОбъекта(3122,13)}: Обнаружено логическое завершение исходного текста модуля КонецЕсли;<<?>> (Проверка: Толстый клиент (обычное приложение)) Функция ОбработатьСобытиеСШК(Обработка, Объект, Клиент, Событие, Данные, СШК) Результат = мНетОшибки; ШК = Неопределено; ТипШК = Неопределено; Результат = Обработка.ОбработатьСобытиеСШК(Объект, Событие, Данные, ШК, ТипШК); Если ЗначениеЗаполнено(Результат) Тогда Возврат Результат; КонецЕсли; Если ПустаяСтрока(ШК) Тогда Возврат Результат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ТипШК) Тогда Если РаботаСТорговымОборудованием.ТипШтрихкодаEAN8ТО(ШК) Тогда ТипШК = мEAN8; ИначеЕсли РаботаСТорговымОборудованием.ТипШтрихкодаEAN13ТО(ШК) Тогда ТипШК = мEAN13; ИначеЕсли РаботаСТорговымОборудованием.ТипШтрихкодаCODE39ТО(ШК) Тогда ТипШК = мCODE39; КонецЕсли; КонецЕсли; // 2012.06.24 YA - LCG { // Обрабатываем ШК ИначеЕсли Лев(ШК,4) = "UIDR" Тогда Запрос = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 1 | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Дата КАК Дата, | РеализацияТоваровУслуг.Номер КАК Номер, | РеализацияТоваровУслуг.Сделка |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.LCG_ШтрихКод = &LCG_ШтрихКод | |УПОРЯДОЧИТЬ ПО | Дата УБЫВ, | Номер УБЫВ"); Запрос.УстановитьПараметр("LCG_ШтрихКод", ШК); Результат = Запрос.Выполнить("LCG_ШтрихКод"); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Если Не Результат.Пустой() Тогда Пока ВыборкаДетальныеЗаписи.Следующий() цикл Ответ=КодВозвратаДиалога.Нет; НовыйДокумент = Документы.РасходныйОрдерНаТовары.СоздатьДокумент(); НовыйДокумент.Дата=ТекущаяДата(); НовыйДокумент.Заполнить(ВыборкаДетальныеЗаписи.Ссылка); Если НовыйДокумент.Товары.Количество()>0 тогда Ответ=Вопрос("Выполнить отгрузку по накладной? "+Символы.ПС+ВыборкаДетальныеЗаписи.Ссылка,РежимДиалогаВопрос.ДаНет,5, КодВозвратаДиалога.да,,КодВозвратаДиалога.да); Если Ответ=КодВозвратаДиалога.Нет тогда Иначе ОтгрузкаВыполнена = Ложь; Попытка ЗаказПоОрдеру=НовыйДокумент.ДокументПередачи.Сделка; Если ЗначениеЗаполнено(ЗаказПоОрдеру)тогда Если ЗаказПоОрдеру.LCG_СтатусЗаказа<>Перечисления.LCG_СтатусыЗаказов.Отгружен тогда ИзменяемЗаказ=ЗаказПоОрдеру.ПолучитьОбъект(); ИзменяемЗаказ.LCG_СтатусЗаказа =Перечисления.LCG_СтатусыЗаказов.Отгружен; ИзменяемЗаказ.Записать(); КонецЕсли; КонецЕсли; НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение); ОтгрузкаВыполнена = Истина; //КонецЕсли; Исключение Попытка НовыйДокумент.Записать(РежимЗаписиДокумента.Запись); Сообщить("Не удалось провести документ:"+Символы.ПС+ОписаниеОшибки()); Исключение Сообщить("Не удалось записать документ:"+Символы.ПС+ОписаниеОшибки()); КонецПопытки; КонецПопытки; КонецЕсли; Иначе Сообщить("Товар по накладной "+ ВыборкаДетальныеЗаписи.Ссылка+ " отгружен полностью"); Ответ=КодВозвратаДиалога.Нет; Ответ=Вопрос("Отменить отгрузку по накладной? "+Символы.ПС+ВыборкаДетальныеЗаписи.Ссылка,РежимДиалогаВопрос.ДаНет,5, КодВозвратаДиалога.Нет,,КодВозвратаДиалога.Нет); Если ответ=КодВозвратаДиалога.Да тогда LCG_ОбщегоНазначения.ВыполнитьОтменуПроведенияРасходныхОрдеровПоНакладной(ВыборкаДетальныеЗаписи.Ссылка); ОтгрузкаВыполнена = Ложь; КонецЕсли; КонецЕсли; ДокументЗаказ = ВыборкаДетальныеЗаписи.Сделка; Если ТипЗнч(ДокументЗаказ) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда Попытка ДокументЗаказОбъект = ДокументЗаказ.ПолучитьОбъект(); Исключение //Возврат Истина; КонецПопытки; Если ОтгрузкаВыполнена = Истина Тогда ДокументЗаказОбъект.LCG_СтатусЗаказа = Перечисления.LCG_СтатусыЗаказов.Отгружен; Иначе ДокументЗаказОбъект.LCG_СтатусЗаказа = Перечисления.LCG_СтатусыЗаказов.Сформирован; КонецЕсли; Попытка ДокументЗаказОбъект.Записать(РежимЗаписиДокумента.Запись); Исключение //Возврат Истина; КонецПопытки; КонецЕсли; //Возврат Истина; КонецЦикла; КонецЕсли; КонецЕсли; // } YA - LCG 2012.06.24 Запрос = Новый Запрос( "ВЫБРАТЬ ПЕРВЫЕ 1 | СпрСН.Ссылка КАК СерийныйНомер |ИЗ | Справочник.СерийныеНомера КАК СпрСН |ГДЕ | (ВЫРАЗИТЬ(СпрСН.Код КАК СТРОКА(" + Формат(СтрДлина(ШК), "ЧН=0; ЧГ=0") + "))) = &Код"); Запрос.УстановитьПараметр("Код", ШК); РезультатЗапроса = Запрос.Выполнить(); Если Не РезультатЗапроса.Пустой() Тогда РезультатЗапроса = РезультатЗапроса.Выбрать(); РезультатЗапроса.Следующий(); Ответ = Клиент.СШКСерийныйНомер(РезультатЗапроса.СерийныйНомер, СШК); Если Ответ Тогда Возврат Результат; КонецЕсли; КонецЕсли; Если ЗначениеЗаполнено(мПрефиксВесовогоТовара) И ЗначениеЗаполнено(мДлинаКодаВесовогоТовара) И ТипШК = мEAN13 И Лев(ШК, 2) = "2" + мПрефиксВесовогоТовара Тогда КодТовара = Сред(ШК, 3, мДлинаКодаВесовогоТовара); КоличествоТовара = Сред(ШК, 3 + мДлинаКодаВесовогоТовара, 10 - мДлинаКодаВесовогоТовара); Запрос = Новый Запрос( "ВЫБРАТЬ ПЕРВЫЕ 1 | РегКВТ.Номенклатура КАК Номенклатура, | РегКВТ.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | РегКВТ.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | " + КоличествоТовара + " / 1000 КАК Количество, | РегКВТ.СерияНоменклатуры КАК СерияНоменклатуры, | ВЫБОР | КОГДА РегКВТ.Качество = &КачествоПустаяСсылка ТОГДА | &КачествоНовый | ИНАЧЕ | РегКВТ.Качество | КОНЕЦ КАК Качество |ИЗ | РегистрСведений.КодыВесовогоТовара КАК РегКВТ |ГДЕ | РегКВТ.Код = &Код"); Запрос.УстановитьПараметр("КачествоПустаяСсылка", мКачествоПустаяСсылка); Запрос.УстановитьПараметр("КачествоНовый", мКачествоНовый); Запрос.УстановитьПараметр("Код", Число(КодТовара)); РезультатЗапроса = Запрос.Выполнить(); Если Не РезультатЗапроса.Пустой() Тогда РезультатЗапроса = РезультатЗапроса.Выбрать(); РезультатЗапроса.Следующий(); Ответ = Клиент.СШКНоменклатура(РезультатЗапроса.Номенклатура, РезультатЗапроса.ХарактеристикаНоменклатуры, РезультатЗапроса.СерияНоменклатуры, РезультатЗапроса.Качество, РезультатЗапроса.ЕдиницаИзмерения, РезультатЗапроса.Количество, СШК); Если Ответ Тогда Возврат Результат; КонецЕсли; КонецЕсли; КонецЕсли; Запрос = Новый Запрос( "ВЫБРАТЬ ПЕРВЫЕ 1 | РегШК.Владелец КАК Владелец, | РегШК.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | РегШК.СерияНоменклатуры КАК СерияНоменклатуры, | РегШК.Качество КАК Качество |ИЗ | РегистрСведений.Штрихкоды КАК РегШК |ГДЕ | РегШК.Штрихкод = &Штрихкод"); Запрос.УстановитьПараметр("Штрихкод", ШК); РезультатЗапроса = Запрос.Выполнить(); Если Не РезультатЗапроса.Пустой() Тогда РезультатЗапроса = РезультатЗапроса.Выбрать(); РезультатЗапроса.Следующий(); Если ТипЗнч(РезультатЗапроса.Владелец) = Тип("СправочникСсылка.ИнформационныеКарты") Тогда Ответ = Клиент.СШКИнформационнаяКарта(РезультатЗапроса.Владелец, СШК); Если Ответ Тогда Возврат Результат; КонецЕсли; Иначе // Если ТипЗнч(РезультатЗапроса.Владелец) = Тип("СправочникСсылка.Номенклатура") Ответ = Клиент.СШКНоменклатура(РезультатЗапроса.Владелец, РезультатЗапроса.ХарактеристикаНоменклатуры, РезультатЗапроса.СерияНоменклатуры, РезультатЗапроса.Качество, РезультатЗапроса.ЕдиницаИзмерения, 1, СШК); Если Ответ Тогда Возврат Результат; КонецЕсли; КонецЕсли; КонецЕсли; Ответ = Клиент.СШКНеизвестныйКод(ШК, ТипШК, СШК); Если Ответ Тогда Возврат Результат; КонецЕсли; Результат = мОшибкаНеизвестныйШтрихкод; Клиент.СШКОшибка(Результат, ШК, ТипШК, СШК); Возврат Результат; КонецФункции // ОбработатьСобытиеСШК() |
|||
1
GLazNik
20.09.12
✎
11:04
|
Ну это уже издевательство....
черным по белому написано: ИначеЕсли Лев(ШК,4) = "UIDR" Тогда К какому Если это Иначе? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |