|
v8: Обращение к реквизиту в общем модуле | ☑ | ||
---|---|---|---|---|
0
zzzLEXzzz
28.08.13
✎
14:24
|
Доброго времени суток. 1С 8.2 УТ. имеется внешняя обработка которая выгружает, продажи, коды контрагента, НДЦ и т.д. из документа "реализацияТоваровИУслуг" в xml фаил, так же в этом документе есть реквезит булево "Бонус", в это обработке есть процедура, и в сторчки
СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); надо сделать условие если "бонус" истина тогда СуммаДитрибьютора = "0", помогите как правильно обратиться к бонусу, это описанно в общем модуле, весь код процедуры вот, сильно меня не пинать, я начинающий )) Процедура ИмпортДокументовПродажи ()Экспорт //Создаём структуру XML файла XML = Новый ЗаписьXML; ИмяФайла = "S"; //имя файла (требования Lawsonsonson) XML.ОткрытьФайл(ПутьВыгрузкиCправочников+"\"+ИмяФайла+".xml","UTF-8"); //путь файла XML.ЗаписатьОбъявлениеXML(); //добавляем файл в список ( ИмяФайла = ПутьВыгрузкиCправочников+"\"+ИмяФайла+".xml"; //добавляем файл в список ) //Шапка xml файла ( XML.ЗаписатьНачалоЭлемента("request"); XML.ЗаписатьНачалоЭлемента("entities"); //Шапка xml файла ) ////*****ИЗМЕНЕНИЯ ДЛЯ ДИСТТРИБЬЮТОРА*****///// НАЧАЛО ( ВыборкаТовара = ПолучитьСписокПозиций(); Пока ВыборкаТовара.Следующий() Цикл Если( ВыборкаТовара.Объект.ПометкаУдаления = Истина ) Тогда Продолжить; КонецЕсли; Товар = ВыборкаТовара.Объект; Выборка = ПолучитьПродажи(Товар); Пока Выборка.Следующий() Цикл ОбработкаПрерыванияПользователя(); Документ = Выборка.Док; // Проверка на корректность Контрагента. Документ.Контрагент.ИНН = 10 или 12 символов ИНН = СокрЛП( Документ.Контрагент.ИНН ); Если( СтрДлина( ИНН ) <> 10 ) И ( СтрДлина( ИНН ) <> 12 ) Тогда Сообщить( "ОШИБКА! Продажа по клиенту: " + Документ.Контрагент.Код + ", ошибка ИНН: " + Документ.Контрагент.ИНН + ", продажа пропущена!" ); Продолжить; КонецЕсли; Менеджер = ПолучитьМенеджераДокумента(Документ.Контрагент); Если( НЕ ЗначениеЗаполнено( Менеджер ) ) Тогда Продолжить; КонецЕсли; //Получаем табличную часть ( ТЧ = Документ.Товары.Выгрузить(); FND = 0; Для каждого СтрокаТЧ Из ТЧ Цикл Если СтрокаТЧ.Номенклатура = Товар Тогда Количество = СтрокаТЧ.Количество*СтрокаТЧ.Коэффициент; СуммаНдс = СтрокаТЧ.СуммаНДС; Сумма = СтрокаТЧ.Сумма; НДС = ВернутьНДС(Товар); Вес = ПолучитьВес(Товар); FND = 1; Прервать; КонецЕсли; КонецЦикла; //Получаем табличную часть ) Если( FND = 0 ) Тогда Продолжить; КонецЕсли; СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); //СчётФактура = ПолучитьСчётФактуру(Документ); //Если СчётФактура = Неопределено Тогда // Предупреждение("Не создана счёт-фактура! Создайте счёт-фактуру и запустите выгрузку заново."); //КонецЕсли; ТТН = ПолучитьНомерНаПечать(Документ,); ОбщийВес = Вес * Количество; ////*****ИЗМЕНЕНИЯ ДЛЯ ДИСТТРИБЬЮТОРА*****///// КОНЕЦ ) //Заполнение XML (Заполнение происходит по руководству ФорматОбменаДанными_v1) ( // * - Обязательные для заполнения поля!!! //Первый тэг. Открыть( XML.ЗаписатьНачалоЭлемента("entity"); XML.ЗаписатьНачалоЭлемента("attributes"); //*** XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","distribId"); XML.ЗаписатьТекст(Строка(КодДистрибьютора)); //* Код дистрибьютора в системе, из справочника Дистрибьюторы XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","clientId"); XML.ЗаписатьТекст(Строка(Документ.Контрагент.Код)); //* Код клиента XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","pointId"); XML.ЗаписатьТекст(Строка(Документ.Контрагент.Код)); //* Код Торговой точки XML.ЗаписатьКонецЭлемента(); ДатаПродажи = Строка(Формат(Документ.дата,"ДФ=дд.ММ.гггг")); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","dateApplied"); // XML.ЗаписатьТекст(ДатаВыгрузки); //* Дата за которую учитываются продажи XML.ЗаписатьТекст(ДатаПродажи); //* Дата за которую учитываются продажи XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","productId"); XML.ЗаписатьТекст(Строка(Товар.Артикул)); //* Код продукции (код продукта у дистрибьютора, если используется мэппинг продуктов) XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","quantity"); XML.ЗаписатьТекст(СтрЗаменить(Количество, Символы.НПП, "")); //* Количество проданной продукции в штуках XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","weight"); XML.ЗаписатьТекст(СтрЗаменить(ОбщийВес, Символы.НПП, "")); //* Вес продукта в килограммах XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","sumNSV"); XML.ЗаписатьТекст(СтрЗаменить(СуммаДитрибьютора, Символы.НПП, "")); //* Общая стоимость продукции в рублях в ценах отгрузки дистрибьютору. Обязательное поле. XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","sumGSV"); XML.ЗаписатьТекст(СтрЗаменить(Сумма, Символы.НПП, "")); //* Общая стоимость продукции в рублях в ценах отгрузки в ТТ. Обязательное поле. XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","dateLoad"); XML.ЗаписатьТекст(ДатаВыгрузки); //* Дата выгрузки из учетной системы дистрибьютора XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","tax"); XML.ЗаписатьТекст(Строка(НДС)); //* НДС в процентах XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","rashNum"); XML.ЗаписатьТекст(Строка(Документ.Номер)); //* Номер расходной накладной XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","invNum"); // XML.ЗаписатьТекст(Строка(СчётФактура.Номер)); //* Номер счета фактуры XML.ЗаписатьТекст(Строка(0)); //* Номер счета фактуры XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","TTNNum"); XML.ЗаписатьТекст(Строка(ТТН)); //* Номер товарно-транспортной накладной XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","locId"); XML.ЗаписатьТекст(Строка(Документ.Склад.Код)); //* Код склада дистрибьютора XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","manId"); XML.ЗаписатьТекст(Строка(Менеджер.Код)); //* Код сотрудника, осуществившего продажу XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","product"); XML.ЗаписатьТекст(Строка(Товар)); //* Название продукта в учетной системе дистрибьютора XML.ЗаписатьКонецЭлемента(); //*** //Первый тэг. Закрыть ( XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьКонецЭлемента(); //Заполнение XML) КонецЦикла; КонецЦикла; //выгружаем список ) Сообщить("Продажи выгружены",СтатусСообщения.Внимание); XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьКонецЭлемента(); //Закрываем xml файл для последующей обработки XML.Закрыть(); //создаём zip архив ( Если СоздатьАрхив = Истина Тогда ВыполнитьАрхивирование(ПутьВыгрузкиCправочников,ИмяФайла); КонецЕсли; //создаём zip архив ) КонецПроцедуры |
|||
1
Шапокляк
28.08.13
✎
14:28
|
Наверно так: Если Документ.Бонус Тогда
|
|||
2
Allexe
28.08.13
✎
14:28
|
Если Документ.Бонус Тогда
СуммаДитрибьютора = 0; Иначе СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); КонецЕсли |
|||
3
zzzLEXzzz
28.08.13
✎
14:42
|
(1) (2) сделал так, но почему-то тогда он заполняет срочку в xml фаиле так
<attribute name="sumNSV"/> а нужно так <attribute name="sumNSV">0</attribute> и в чем прикол, если я просто без условия делаю так СуммаДитрибьютора = 0; тогда она нормально заполняется, так как нужно, как только я ставлю условия происходит такая беда, что может быть? |
|||
4
Allexe
28.08.13
✎
14:47
|
(3) Ну выложи код с условием.
|
|||
5
zzzLEXzzz
28.08.13
✎
14:51
|
Процедура ИмпортДокументовПродажи ()Экспорт
//Создаём структуру XML файла XML = Новый ЗаписьXML; ИмяФайла = "S"; //имя файла (требования Lawsonsonson) XML.ОткрытьФайл(ПутьВыгрузкиCправочников+"\"+ИмяФайла+".xml","UTF-8"); //путь файла XML.ЗаписатьОбъявлениеXML(); //добавляем файл в список ( ИмяФайла = ПутьВыгрузкиCправочников+"\"+ИмяФайла+".xml"; //добавляем файл в список ) //Шапка xml файла ( XML.ЗаписатьНачалоЭлемента("request"); XML.ЗаписатьНачалоЭлемента("entities"); //Шапка xml файла ) ////*****ИЗМЕНЕНИЯ ДЛЯ ДИСТТРИБЬЮТОРА*****///// НАЧАЛО ( ВыборкаТовара = ПолучитьСписокПозиций(); Пока ВыборкаТовара.Следующий() Цикл Если( ВыборкаТовара.Объект.ПометкаУдаления = Истина ) Тогда Продолжить; КонецЕсли; Товар = ВыборкаТовара.Объект; Выборка = ПолучитьПродажи(Товар); Пока Выборка.Следующий() Цикл ОбработкаПрерыванияПользователя(); Документ = Выборка.Док; // Проверка на корректность Контрагента. Документ.Контрагент.ИНН = 10 или 12 символов ИНН = СокрЛП( Документ.Контрагент.ИНН ); Если( СтрДлина( ИНН ) <> 10 ) И ( СтрДлина( ИНН ) <> 12 ) Тогда Сообщить( "ОШИБКА! Продажа по клиенту: " + Документ.Контрагент.Код + ", ошибка ИНН: " + Документ.Контрагент.ИНН + ", продажа пропущена!" ); Продолжить; КонецЕсли; Менеджер = ПолучитьМенеджераДокумента(Документ.Контрагент); Если( НЕ ЗначениеЗаполнено( Менеджер ) ) Тогда Продолжить; КонецЕсли; //Получаем табличную часть ( ТЧ = Документ.Товары.Выгрузить(); FND = 0; Для каждого СтрокаТЧ Из ТЧ Цикл Если СтрокаТЧ.Номенклатура = Товар Тогда Количество = СтрокаТЧ.Количество*СтрокаТЧ.Коэффициент; СуммаНдс = СтрокаТЧ.СуммаНДС; Сумма = СтрокаТЧ.Сумма; НДС = ВернутьНДС(Товар); Вес = ПолучитьВес(Товар); FND = 1; Прервать; КонецЕсли; КонецЦикла; //Получаем табличную часть ) Если( FND = 0 ) Тогда Продолжить; КонецЕсли; //СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); Если Документ.Бонус = истина тогда СуммаДистрибьютера = 0; Иначе СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); КонецЕсли; //СчётФактура = ПолучитьСчётФактуру(Документ); //Если СчётФактура = Неопределено Тогда // Предупреждение("Не создана счёт-фактура! Создайте счёт-фактуру и запустите выгрузку заново."); //КонецЕсли; ТТН = ПолучитьНомерНаПечать(Документ,); ОбщийВес = Вес * Количество; ////*****ИЗМЕНЕНИЯ ДЛЯ ДИСТТРИБЬЮТОРА*****///// КОНЕЦ ) //Заполнение XML (Заполнение происходит по руководству ФорматОбменаДанными_v1) ( // * - Обязательные для заполнения поля!!! //Первый тэг. Открыть( XML.ЗаписатьНачалоЭлемента("entity"); XML.ЗаписатьНачалоЭлемента("attributes"); //*** XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","distribId"); XML.ЗаписатьТекст(Строка(КодДистрибьютора)); //* Код дистрибьютора в системе, из справочника Дистрибьюторы XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","clientId"); XML.ЗаписатьТекст(Строка(Документ.Контрагент.Код)); //* Код клиента XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","pointId"); XML.ЗаписатьТекст(Строка(Документ.Контрагент.Код)); //* Код Торговой точки XML.ЗаписатьКонецЭлемента(); ДатаПродажи = Строка(Формат(Документ.дата,"ДФ=дд.ММ.гггг")); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","dateApplied"); // XML.ЗаписатьТекст(ДатаВыгрузки); //* Дата за которую учитываются продажи XML.ЗаписатьТекст(ДатаПродажи); //* Дата за которую учитываются продажи XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","productId"); XML.ЗаписатьТекст(Строка(Товар.Артикул)); //* Код продукции (код продукта у дистрибьютора, если используется мэппинг продуктов) XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","quantity"); XML.ЗаписатьТекст(СтрЗаменить(Количество, Символы.НПП, "")); //* Количество проданной продукции в штуках XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","weight"); XML.ЗаписатьТекст(СтрЗаменить(ОбщийВес, Символы.НПП, "")); //* Вес продукта в килограммах XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","sumNSV"); XML.ЗаписатьТекст(СтрЗаменить(СуммаДитрибьютора, Символы.НПП, "")); //* Общая стоимость продукции в рублях в ценах отгрузки дистрибьютору. Обязательное поле. XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","sumGSV"); XML.ЗаписатьТекст(СтрЗаменить(Сумма, Символы.НПП, "")); //* Общая стоимость продукции в рублях в ценах отгрузки в ТТ. Обязательное поле. XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","dateLoad"); XML.ЗаписатьТекст(ДатаВыгрузки); //* Дата выгрузки из учетной системы дистрибьютора XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","tax"); XML.ЗаписатьТекст(Строка(НДС)); //* НДС в процентах XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","rashNum"); XML.ЗаписатьТекст(Строка(Документ.Номер)); //* Номер расходной накладной XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","invNum"); // XML.ЗаписатьТекст(Строка(СчётФактура.Номер)); //* Номер счета фактуры XML.ЗаписатьТекст(Строка(0)); //* Номер счета фактуры XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","TTNNum"); XML.ЗаписатьТекст(Строка(ТТН)); //* Номер товарно-транспортной накладной XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","locId"); XML.ЗаписатьТекст(Строка(Документ.Склад.Код)); //* Код склада дистрибьютора XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","manId"); XML.ЗаписатьТекст(Строка(Менеджер.Код)); //* Код сотрудника, осуществившего продажу XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьНачалоЭлемента("attribute"); XML.ЗаписатьАтрибут("name","product"); XML.ЗаписатьТекст(Строка(Товар)); //* Название продукта в учетной системе дистрибьютора XML.ЗаписатьКонецЭлемента(); //*** //Первый тэг. Закрыть ( XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьКонецЭлемента(); //Заполнение XML) КонецЦикла; КонецЦикла; //выгружаем список ) Сообщить("Продажи выгружены",СтатусСообщения.Внимание); XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьКонецЭлемента(); //Закрываем xml файл для последующей обработки XML.Закрыть(); //создаём zip архив ( Если СоздатьАрхив = Истина Тогда ВыполнитьАрхивирование(ПутьВыгрузкиCправочников,ИмяФайла); КонецЕсли; //создаём zip архив ) КонецПроцедуры |
|||
6
Allexe
28.08.13
✎
14:54
|
Если Документ.Бонус Тогда
СуммаДитрибьютора = "0"; Иначе СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); КонецЕсли Так попробуй |
|||
7
zzzLEXzzz
28.08.13
✎
14:57
|
(6) Пробовал и в кавычках, тот же результат ((
|
|||
8
AaNnDdRrEeYy
28.08.13
✎
14:58
|
Это
<attribute name="sumNSV"/> тоже самое что и <attribute name="sumNSV">0</attribute> это одно и тоже |
|||
9
AaNnDdRrEeYy
28.08.13
✎
15:00
|
(8)+ потому что все элементы у тебя в файле текстовые. было бы числовое то при чтении ошибка была бы, а так пофиг.
|
|||
10
zzzLEXzzz
28.08.13
✎
15:02
|
(8) Просто этот фаил выгружается в одну программу дисра. и если в фаиле так <attribute name="sumNSV"/> а не так <attribute name="sumNSV">0</attribute> то тогда их программа выдаёт ошибку, не корректно заполнены поля., в том то и дело что нужно именно так <attribute name="sumNSV">0</attribute>
|
|||
11
Allexe
28.08.13
✎
15:05
|
(7) У тебя пропущена буква в слове "Дистрибьютера" проверь свой код
|
|||
12
zzzLEXzzz
28.08.13
✎
15:07
|
(11) эт не мой код, то что пропущена буква эт не беда, код та работает, просто с условием что делать не знаю
|
|||
13
zzzLEXzzz
28.08.13
✎
15:07
|
(11) точнее она так во всем коде заведена, с пропущенной буквой
|
|||
14
Allexe
28.08.13
✎
15:08
|
У тебя пишется в xml переменная СуммаДитрибьютора
условии СуммаДистрибьютера Если Документ.Бонус = истина тогда СуммаДистрибьютера = 0; Иначе СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); КонецЕсли; Исправь СуммаДистрибьютера = 0; НА СуммаДитрибьютора = 0; |
|||
15
Allexe
28.08.13
✎
15:08
|
СуммаДитрибьютора = "0"
|
|||
16
Нуф-Нуф
28.08.13
✎
15:12
|
реквИзит
|
|||
17
zzzLEXzzz
28.08.13
✎
15:14
|
(14) вот я балбесина, сейчас попробую, стыдно мне (((
|
|||
18
Allexe
28.08.13
✎
15:15
|
(17) Ничего страшного. Это все копипаст :)
|
|||
19
zzzLEXzzz
28.08.13
✎
15:28
|
Всё получилось, всем спасибо огромное за помощь
|
|||
20
zzzLEXzzz
28.08.13
✎
17:04
|
А если усложнить задачу, это не обязательно, но желательно, вот в РеализацииТОваровИУслуг есть "Категории" и там тоже есть Бонус, как тогда обратся к этому Бонусу???
|
|||
21
zzzLEXzzz
28.08.13
✎
17:30
|
(20) Идей нет? или я может просто не понятно поставил вопрос?
|
|||
22
Allexe
28.08.13
✎
19:01
|
(21) Аналогично сначала тебе надо получить сам документ в (0) у тебя документ получается так:
Документ = Выборка.Док; А потом сделать аналогичное условие Какие у тебя там документы в Выборке ХЗН |
|||
23
zzzLEXzzz
29.08.13
✎
10:20
|
(22) в вборке документ "РеализацияТоваровИУслуг", вот обратиться к категории этой реалицауии
Если документ.<тут что?>.бонус = истина тогда |
|||
24
Allexe
29.08.13
✎
17:39
|
(23) А категория это реквизит самого документа РТиУ или табличной части?
|
|||
25
zzzLEXzzz
29.08.13
✎
17:43
|
(24) в том то и дело что и не то и не то, обращение идёт к обработки.категорииОбъекта
|
|||
26
Allexe
29.08.13
✎
17:45
|
(25) Не совсем понял что значит обработки.категорииОбъекта? Это доп категория заданная через Предприятие?
|
|||
27
zzzLEXzzz
29.08.13
✎
17:47
|
(26) да, по моему в типовой конфикурации УТ она встроена
|
|||
28
Jaffar
29.08.13
✎
17:57
|
вот мы и подобрались к вопросу о названии и версии конфигурации...
|
|||
29
Allexe
29.08.13
✎
17:57
|
(27) Понял попозже гляну сейчас немогу. Напиши какая УТ 10 или 11?
|
|||
30
zzzLEXzzz
29.08.13
✎
17:59
|
(29) "Управление торговлей", редакция 10.3 KP (10.3.8.9)
|
|||
31
Allexe
29.08.13
✎
18:01
|
ок попозже посмотрю и напишу
|
|||
32
zzzLEXzzz
29.08.13
✎
18:02
|
(31) спасибо...
|
|||
33
Allexe
29.08.13
✎
21:38
|
(32) Лучше бы конечно это сразу получать в запросе
в функции ПолучитьПродажи(Товар); Но в общем смысл такой: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КатегорииОбъектов.Категория |ИЗ | РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов |ГДЕ | КатегорииОбъектов.Объект = &Объект | И КатегорииОбъектов.Категория = &Категория"; Категория = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Бонус"); Если Категория <> Неопределено Тогда Запрос.УстановитьПараметр("Категория", Категория); Запрос.УстановитьПараметр("Объект", Документ); Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Сообщить("Категория установлена"); Иначе Сообщить("категоиря не установлена"); КонецЕсли; Иначе Сообщить("Не удалось найти категорию бонус"); КонецЕсли; |
|||
34
zzzLEXzzz
30.08.13
✎
11:18
|
(33)Огромное спасибо, всё получилось, кому интересно вот полностью запрос
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КатегорииОбъектов.Категория |ИЗ | РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов |ГДЕ | КатегорииОбъектов.Объект = &Объект | И КатегорииОбъектов.Категория = &Категория"; Категория = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Бонус"); Если Категория <> Неопределено Тогда Запрос.УстановитьПараметр("Категория", Категория); Запрос.УстановитьПараметр("Объект", Документ); Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда СуммаДитрибьютора = 0; Иначе Если Документ.Бонус = истина тогда СуммаДитрибьютора = 0; Иначе СуммаДитрибьютора = ПересчитатьСумму(Товар,Количество); КонецЕсли; КонецЕсли; Иначе Сообщить("Не удалось найти категорию бонус"); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |