|
выгрузка | ☑ | ||
---|---|---|---|---|
0
del12
17.04.12
✎
10:38
|
необходимо чтобы в custname выводился клиент, а не организация. как этоисправить?
&НаСервере Функция ПолучитьЗначенияПолей() Поля = Новый Структура; Поля.Вставить("CustName", Объект.CustName.ПолноеНаименование()); Поля.Вставить("INN", Объект.CustName.ИНН); Поля.Вставить("Address", Объект.CustName.КонтактнаяИнформация.Найти(Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес"),"Вид").Представление); Поля.Вставить("Art", Объект.ItemName.Артикул); Поля.Вставить("ItemName", Объект.ItemName.ПолноеНаименование()); Поля.Вставить("TradeEmpN", Объект.TradeEmpN.ПолноеНаименование()); Поля.Вставить("ItemId", ""); Для каждого ДопРеквизит Из Объект.ItemName.ДополнительныеРеквизиты Цикл Если ДопРеквизит.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Код товара поставщика") Тогда Поля["ItemId"]=ДопРеквизит.Значение; //Объект.ItemName.ДополнительныеРеквизиты.Найти("Значение").Значение КонецЕсли КонецЦикла; //Исключение // Поля.Вставить("ItemId", ""); //КонецПопытки; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних |ГДЕ | ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены | И ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура"; Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦены); Запрос.УстановитьПараметр("Дата", Объект.BeginDate); Запрос.УстановитьПараметр("Номенклатура", Объект.ItemName); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Если НЕ ВыборкаДетальныеЗаписи.Цена = 0 И НЕ ВыборкаДетальныеЗаписи.Цена = НЕОПРЕДЕЛЕНО Тогда Поля.Вставить("Price", ?(Объект.ВидЦены.ЦенаВключаетНДС,ВыборкаДетальныеЗаписи.Цена,ВыборкаДетальныеЗаписи.Цена+ВыборкаДетальныеЗаписи.Цена/100*18)); Иначе Поля.Вставить("Price",0); КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот, | ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот, | ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура, | ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.Артикул, | ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Договор.Менеджер |ИЗ | РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&ДатаНачала, &ДатаКонца, , ) КАК ВыручкаИСебестоимостьПродажОбороты |ГДЕ | ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура | И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент | И ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Менеджер = &Менеджер | И ВЫБОР | КОГДА &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) | ИЛИ &Организация = НЕОПРЕДЕЛЕНО | ИЛИ &Организация ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Организация = &Организация | КОНЕЦ | И ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Соглашение.ВидЦен = &ВидЦен | И (НЕ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.НаименованиеПолное ПОДОБНО &ПодстрокаБонуса | ИЛИ НЕ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.Наименование ПОДОБНО &ПодстрокаБонуса)"; Запрос.УстановитьПараметр("ВидЦен", Объект.ВидЦены); Запрос.УстановитьПараметр("Организация", Объект.Организация); Запрос.УстановитьПараметр("ДатаКонца", КонецДня(Объект.EndDate)); Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(Объект.BeginDate)); Запрос.УстановитьПараметр("Контрагент", Объект.CustName); Запрос.УстановитьПараметр("Менеджер", Объект.TradeEmpN); Запрос.УстановитьПараметр("Номенклатура", Объект.ItemName); Запрос.УстановитьПараметр("ПодстрокаБонуса", "%"+"**БОНУС!!!"+"%"); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Поля.Вставить("Qty", ВыборкаДетальныеЗаписи.КоличествоОборот); Если НЕ ВыборкаДетальныеЗаписи.СуммаВыручкиОборот = 0 И НЕ ВыборкаДетальныеЗаписи.СуммаВыручкиОборот = НЕОПРЕДЕЛЕНО Тогда Поля.Вставить("Amount",?(Объект.ВидЦены.ЦенаВключаетНДС,ВыборкаДетальныеЗаписи.СуммаВыручкиОборот,ВыборкаДетальныеЗаписи.СуммаВыручкиОборот+ВыборкаДетальныеЗаписи.СуммаВыручкиОборот/100*18)); ИНАЧЕ Поля.Вставить("Amount",0); КонецЕсли; //Поиск бонусного товара Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот, | ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот |ИЗ | РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&ДатаНачала, &ДатаКонца, , ) КАК ВыручкаИСебестоимостьПродажОбороты |ГДЕ | ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура | И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент | И ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Менеджер = &Менеджер | И ВЫБОР | КОГДА &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) | ИЛИ &Организация = НЕОПРЕДЕЛЕНО | ИЛИ &Организация ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Организация = &Организация | КОНЕЦ | И ВыручкаИСебестоимостьПродажОбороты.ЗаказКлиента.Соглашение.ВидЦен = &ВидЦен | И (ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.НаименованиеПолное ПОДОБНО &ПодстрокаБонуса | ИЛИ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.Наименование ПОДОБНО &ПодстрокаБонуса)"; Запрос.УстановитьПараметр("ВидЦен", Объект.ВидЦены); Запрос.УстановитьПараметр("Организация", Объект.Организация); Запрос.УстановитьПараметр("ДатаКонца", КонецДня(Объект.EndDate)); Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(Объект.BeginDate)); Запрос.УстановитьПараметр("Контрагент", Объект.CustName); Запрос.УстановитьПараметр("Менеджер", Объект.TradeEmpN); Запрос.УстановитьПараметр("Номенклатура", Объект.ItemName); Запрос.УстановитьПараметр("ПодстрокаБонуса", "%"+"**БОНУС!!!"+"%"); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Поля.Вставить("QtyBon", ВыборкаДетальныеЗаписи.КоличествоОборот); //////////////////////////////////////////////////////////////////////// Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.ВНаличииОстаток, | ТоварыНаСкладахОстатки.ВРезервеОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК ТоварыНаСкладахОстатки |ГДЕ | ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура"; Запрос.УстановитьПараметр("Дата", КонецДня(Объект.EndDate)); Запрос.УстановитьПараметр("Номенклатура", Объект.ItemName); Запрос.УстановитьПараметр("Организация", Объект.Организация); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Поля.Вставить("QtyRem", ?(НЕ ВыборкаДетальныеЗаписи.ВНаличииОстаток=Неопределено,ВыборкаДетальныеЗаписи.ВНаличииОстаток,0)+?(НЕ ВыборкаДетальныеЗаписи.ВРезервеОстаток=Неопределено,ВыборкаДетальныеЗаписи.ВРезервеОстаток,0)); КоличествоОстаток=?(НЕ ВыборкаДетальныеЗаписи.ВНаличииОстаток=Неопределено,ВыборкаДетальныеЗаписи.ВНаличииОстаток,0)+?(НЕ ВыборкаДетальныеЗаписи.ВРезервеОстаток=Неопределено,ВыборкаДетальныеЗаписи.ВРезервеОстаток,0); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних |ГДЕ | ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены | И ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура"; Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Закупочная")); Запрос.УстановитьПараметр("Дата", Объект.EndDate); Запрос.УстановитьПараметр("Номенклатура", Объект.ItemName); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Если НЕ КоличествоОстаток = 0 Тогда Поля.Вставить("AmountRem", ВыборкаДетальныеЗаписи.Цена*КоличествоОстаток); Иначе Поля.Вставить("AmountRem", 0); КонецЕсли; Поля.Вставить("BeginDate", Объект.BeginDate); Поля.Вставить("EndDate", Объект.EndDate); Возврат Поля; КонецФункции &НаКлиенте Процедура ПриОткрытии(Отказ) Объект.Организация= ПолучитьОрганизация(); Объект.CustName= ПолучитьCustName(); Объект.CustAcc="КЛ-1640"; Объект.TradeEmpN= ПолучитьTradeEmpN(); Объект.ВидЦены= ПолучитьВидЦен(); Объект.ItemName= ПолучитьItemName(); Объект.BeginDate=НачалоМесяца(ТекущаяДата()); Объект.EndDate=КонецМесяца(ТекущаяДата()); Объект.ИНН=ПолучитьИНН(); КонецПроцедуры //&НаСервере //Функция ПолучитьИНН() // Возврат Объект.Организация.ИНН; //КонецФункции &НаСервере Функция ПолучитьВидЦен() Попытка ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Магазины2"); Возврат ВидЦены Исключение КонецПопытки; КонецФункции &НаСервере Функция ПолучитьItemName() Попытка ItemName = Справочники.Номенклатура.НайтиПоНаименованию("ср д труб Тирет гель 1000г (уп12)"); Возврат ItemName Исключение КонецПопытки; КонецФункции //&НаСервере //Функция ПолучитьОрганизация() // Попытка // Организация = Справочники.Организации.НайтиПоНаименованию("ООО ""Элтонхим"""); // Возврат Организация //Исключение //КонецПопытки; //КонецФункции &НаСервере Функция ПолучитьCustName() Попытка CustName = Справочники.Контрагенты.НайтиПоНаименованию("Магазин Юмах (парфюмерия)"); Возврат CustName Исключение КонецПопытки; КонецФункции &НаСервере Функция ПолучитьTradeEmpN() Попытка TradeEmpN = Справочники.Пользователи.НайтиПоНаименованию("Михайлова"); Возврат TradeEmpN Исключение КонецПопытки; КонецФункции &НаКлиенте Процедура Выгрузить(Команда) КонецПроцедуры &НаКлиенте Процедура ВыгрузитьПогруппе(Команда) Режим = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытия.Каталог = ""; ДиалогОткрытия.МножественныйВыбор = Ложь; ДиалогОткрытия.Заголовок = "Выберите каталог"; Если ДиалогОткрытия.Выбрать() Тогда ПутьККаталогу = ДиалогОткрытия.Каталог; БД = Новый XBase; БД.Кодировка=КодировкаXBase.ANSI; БД.Поля.Добавить("CustAcc","S",20); БД.Поля.Добавить("CustName","S",100); БД.Поля.Добавить("INN","S",12); БД.Поля.Добавить("Address","S",250); БД.Поля.Добавить("Art","S",4); БД.Поля.Добавить("ItemId","S",20); БД.Поля.Добавить("ItemName","S",200); БД.Поля.Добавить("TradeEmpId","S",20); БД.Поля.Добавить("TradeEmpN","S",80); БД.Поля.Добавить("VO","N",1,0); БД.Поля.Добавить("Price","N",15,2); БД.Поля.Добавить("Qty","N",15,0); БД.Поля.Добавить("QtyBon","N",15,0); БД.Поля.Добавить("Amount","N",15,2); БД.Поля.Добавить("QtyRem","N",15,0); БД.Поля.Добавить("AmountRem","N",15,2); БД.Поля.Добавить("BeginDate","D",10,0); БД.Поля.Добавить("EndDate","D",10,0); БД.СоздатьФайл(ПутьККаталогу+"\"+"ax001090"+".dbf"); //ax //СокрЛП(Строка(Объект.CustAcc)) Объект.НоменкдтураВся.Очистить(); //ПереборПодчиненыхЭлементов(Объект.Номенклатура); Объект.Пользователи.Очистить(); ЗапросПоПользователям(); Для каждого ЭлементПользователь из Объект.Пользователи Цикл Объект.TradeEmpN=ЭлементПользователь.Пользователь; Для каждого ЭлементНоменклатура из Объект.НоменкдтураВся Цикл Объект.ItemName = ЭлементНоменклатура.Номенклатура; Сформировать(ЭтаФорма.Команды.Сформировать); БД.Добавить(); БД.CustAcc=Объект.СтруктураВыгрузки[0].Значение; БД.CustName=Объект.СтруктураВыгрузки[1].Значение; БД.INN=Объект.СтруктураВыгрузки[2].Значение; БД.Address=Объект.СтруктураВыгрузки[3].Значение; БД.Art=Объект.СтруктураВыгрузки[4].Значение; БД.ItemId=Объект.СтруктураВыгрузки[5].Значение; БД.ItemName=Объект.СтруктураВыгрузки[6].Значение; БД.TradeEmpId=Объект.СтруктураВыгрузки[7].Значение; БД.TradeEmpN=Объект.СтруктураВыгрузки[8].Значение; БД.VO=Объект.СтруктураВыгрузки[9].Значение; БД.Price=Объект.СтруктураВыгрузки[10].Значение; БД.Qty=Объект.СтруктураВыгрузки[11].Значение; БД.QtyBon=Объект.СтруктураВыгрузки[12].Значение; БД.Amount=Объект.СтруктураВыгрузки[13].Значение; БД.QtyRem=Объект.СтруктураВыгрузки[14].Значение; БД.AmountRem=Объект.СтруктураВыгрузки[15].Значение; //БД.BeginDate=Дата(СтрЗаменить(Объект.СтруктураВыгрузки[16].Значение,".","")); //БД.EndDate=Дата(СтрЗаменить(Объект.СтруктураВыгрузки[17].Значение,".","")); БД.BeginDate=Объект.BeginDate; БД.EndDate=Объект.EndDate; БД.Записать(); БД.Добавить(); БД.CustAcc=Объект.СтруктураВыгрузки[0].Значение; БД.CustName=Объект.СтруктураВыгрузки[1].Значение; БД.INN=Объект.СтруктураВыгрузки[2].Значение; БД.Address=Объект.СтруктураВыгрузки[3].Значение; БД.Art=Объект.СтруктураВыгрузки[4].Значение; БД.ItemId=Объект.СтруктураВыгрузки[5].Значение; БД.ItemName=Объект.СтруктураВыгрузки[6].Значение; БД.QtyRem=Объект.СтруктураВыгрузки[14].Значение; БД.AmountRem=Объект.СтруктураВыгрузки[15].Значение; БД.EndDate=Объект.EndDate; БД.Записать(); КонецЦикла; КонецЦикла; БД.ЗакрытьФайл(); ПоказатьОповещениеПользователя("Выгрузка успешно завершена ("+ПутьККаталогу+"\ax"+"001090"+".dbf"); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПереборПодчиненыхЭлементов(Номенклатура,Массив) // Получить выборку по указанному контрагенту. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Родитель = &Владелец"; Запрос.УстановитьПараметр("Владелец", Номенклатура); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Если НЕ Выборка.Ссылка.ЭтоГруппа Тогда Массив.Добавить(Выборка.Ссылка); Иначе //Это группа ПереборПодчиненыхЭлементов(Выборка.Ссылка,Массив); КонецЕсли; КонецЦикла; КонецПроцедуры &НаСервере Функция ЗапросПоПользователям() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Пользователи.Ссылка |ИЗ | Справочник.Пользователи КАК Пользователи |ГДЕ | Пользователи.ПометкаУдаления = ЛОЖЬ"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Объект.Пользователи.Добавить().Пользователь = Выборка.Ссылка; КонецЦикла; КонецФункции &НаКлиенте Процедура СформироватьВыгрузку(Команда) МассивНоменклатуры=Новый Массив; ПереборПодчиненыхЭлементов(Объект.Номенклатура,МассивНоменклатуры); СформироватьПродажи(МассивНоменклатуры); СформироватьОстатки(МассивНоменклатуры); Режим = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытия.Каталог = ""; ДиалогОткрытия.МножественныйВыбор = Ложь; ДиалогОткрытия.Заголовок = "Выберите каталог"; Если ДиалогОткрытия.Выбрать() Тогда ПутьККаталогу = ДиалогОткрытия.Каталог; Попытка УдалитьФайлы(ПутьККаталогу+"\"+"ax001090"+".dbf"); //СокрЛП(Строка(Объект.CustAcc)) Исключение КонецПопытки; БД = Новый XBase; БД.Кодировка=КодировкаXBase.OEM; БД.Поля.Добавить("CustAcc","S",20); БД.Поля.Добавить("CustName","S",100); БД.Поля.Добавить("INN","S",12); БД.Поля.Добавить("Address","S",250); БД.Поля.Добавить("Art","S",4); БД.Поля.Добавить("ItemId","S",20); БД.Поля.Добавить("ItemName","S",200); БД.Поля.Добавить("TradeEmpId","S",20); БД.Поля.Добавить("TradeEmpN","S",80); БД.Поля.Добавить("VO","N",1,0); БД.Поля.Добавить("Price","N",15,2); БД.Поля.Добавить("Qty","N",15,0); БД.Поля.Добавить("QtyBon","N",15,0); БД.Поля.Добавить("Amount","N",15,2); БД.Поля.Добавить("QtyRem","N",15,0); БД.Поля.Добавить("AmountRem","N",15,2); БД.Поля.Добавить("BeginDate","D",10,0); БД.Поля.Добавить("EndDate","D",10,0); БД.СоздатьФайл(ПутьККаталогу+"\"+"ax001090"+".dbf"); //ax СокрЛП(Строка(Объект.CustAcc)) Для каждого СтрокаТаблицаПродаж Из Объект.ТаблицаПродаж Цикл БД.Добавить(); БД.CustAcc=Объект.CustAcc; БД.CustName=Объект.Контрагент; БД.INN=Объект.ИНН; БД.Address=ПолучитьАдрес(); БД.Art=СтрокаТаблицаПродаж.Art; БД.ItemId=ПолучитьItemId(СтрокаТаблицаПродаж.ItemName); БД.ItemName=СтрокаТаблицаПродаж.ItemName; БД.TradeEmpId=""; БД.TradeEmpN=СтрокаТаблицаПродаж.TradeEmpN; БД.VO=0; БД.Price= ?(СтрокаТаблицаПродаж.Qty=0,0,Формат(СтрокаТаблицаПродаж.Amount/СтрокаТаблицаПродаж.Qty,"ЧДЦ=2")); БД.Qty=СтрокаТаблицаПродаж.Qty; БД.QtyBon=СтрокаТаблицаПродаж.QtyBon; БД.Amount=СтрокаТаблицаПродаж.Amount; БД.QtyRem=0; БД.AmountRem=0; //БД.BeginDate=Дата(СтрЗаменить(Объект.СтруктураВыгрузки[16].Значение,".","")); //БД.EndDate=Дата(СтрЗаменить(Объект.СтруктураВыгрузки[17].Значение,".","")); БД.BeginDate=Объект.BeginDate; БД.EndDate=Объект.EndDate; БД.Записать(); КонецЦикла; Для каждого СтрокаТаблицаОстаток Из Объект.ТаблицаОстаток Цикл БД.Добавить(); БД.Art=СтрокаТаблицаОстаток.Art; БД.ItemId=ПолучитьItemId(СтрокаТаблицаОстаток.ItemName); БД.ItemName=СтрокаТаблицаОстаток.ItemName; БД.QtyRem=СтрокаТаблицаОстаток.QtyRem; БД.AmountRem=Формат(СтрокаТаблицаОстаток.AmountRem,"ЧДЦ=2"); БД.EndDate=Объект.EndDate; БД.Записать(); КонецЦикла; БД.ЗакрытьФайл(); ПоказатьОповещениеПользователя("Выгрузка успешно завершена ("+ПутьККаталогу+"\"+"ax001090"+".dbf"); //СокрЛП(Строка(Объект.CustAcc)) КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьАдрес() Возврат Объект.Контрагент.КонтактнаяИнформация.Найти(Справочники.ВидыКонтактнойИнформации.ФактАдресКонрагента,"Вид").Представление; КонецФункции &НаСервере Функция ПолучитьItemId(ItemName) Для каждого ДопРеквизит Из ItemName.ДополнительныеРеквизиты Цикл Если ДопРеквизит.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Код товара поставщика") Тогда Возврат ДопРеквизит.Значение; //Объект.ItemName.ДополнительныеРеквизиты.Найти("Значение").Значение КонецЕсли КонецЦикла; КонецФункции &НаСервере Функция ПолучитьПроцессорВывода() Возврат Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; КОнецФункции &НаСервере Функция СформироватьПродажи(МассивНоменклатуры) СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет"); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); НачалоПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[2]; НачалоПериода.Значение = НачалоДня(Объект.EndDate); НачалоПериода.Использование = ИСТИНА; КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[3]; КонецПериода.Значение = КонецДня(Объект.BeginDate); КонецПериода.Использование = ИСТИНА; КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[4]; КонецПериода.Значение = Объект.CustAcc; КонецПериода.Использование = ИСТИНА; КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[5]; КонецПериода.Значение = Объект.CustName; КонецПериода.Использование = ИСТИНА; КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[6]; КонецПериода.Значение = Объект.Организация.ИНН; КонецПериода.Использование = ИСТИНА; КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[7]; КонецПериода.Значение = Объект.Контрагент.КонтактнаяИнформация.Найти(Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагент,"Вид").Представление; КонецПериода.Использование = ИСТИНА; КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[8]; КонецПериода.Значение = "%"+"**БОНУС!!!"+"%"; КонецПериода.Использование = ИСТИНА; КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[9]; КонецПериода.Значение = МассивНоменклатуры; КонецПериода.Использование = ИСТИНА; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных(); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных(); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); //ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных(); //ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); // // //ЭлементыФормы.Результат.Очистить(); //ДокументРезультат = ЭлементыФормы.Результат; // //ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; //ПроцессорВывода.УстановитьДокумент(ДокументРезультат); // //ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ТаблицаЗначений = Новый ТаблицаЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Объект.ТаблицаПродаж.Очистить(); Для каждого строкаТаблицаЗначений из ТаблицаЗначений Цикл НоваяСтрокаПродажи = Объект.ТаблицаПродаж.Добавить(); НоваяСтрокаПродажи.Art = СтрокаТаблицаЗначений.Art; НоваяСтрокаПродажи.ItemName = строкаТаблицаЗначений.ItemName; НоваяСтрокаПродажи.TradeEmpN = строкаТаблицаЗначений.TradeEmpN; НоваяСтрокаПродажи.Qty = строкаТаблицаЗначений.Qty; НоваяСтрокаПродажи.QtyBon = строкаТаблицаЗначений.QtyBon; НоваяСтрокаПродажи.Amount = строкаТаблицаЗначений.Amount; КонецЦикла; //Возврат ТаблицаЗначений; КонецФункции &НаСервере Функция СформироватьОстатки(МассивНоменклатуры) |
|||
1
butterbean
17.04.12
✎
10:40
|
Объект это что??
|
|||
2
del12
17.04.12
✎
11:00
|
Процедура Сформировать(Команда)
Объект.СтруктураВыгрузки.Очистить(); ЗначенияПолей=ПолучитьЗначенияПолей(); //CustAcc НоваяСтрока = Объект.СтруктураВыгрузки.Добавить(); НоваяСтрока.ИмяПоля = "CustAcc"; НоваяСтрока.Значение=Объект.CustAcc;..... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |