Перейти к содержимому


Услуги программиста 1С
Профессиональные программисты 1С.
Весь комплекс услуг сопровождения 1С.

Курсы 1С
Бухгалтерам, менеджерам
и программистам.
Бесплатно!
Живое индивидуальное обучение по 1С.

Допоможіть з процедурою.


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1   volodymyr1981

volodymyr1981

      Рядовой

    • Пользователи
    • Сообщений: 18
    • Регистрация: 14-September 09
    • Откуда:Львов , Львовская Область , Украина

Отправлено 23 February 2011 - 12:20

Добрий день.

Є наступна процедура. в ній необхідно відключити наступне...
коли вона формує звіт, то тоді по клієнту якщо є декілька накладних то дана процедура їх збиває докупи
а потрібно щоб показувало окремо (тобто, не одна фамілія і весь асортимент, що він брав за день, а все окремо розписано...)
і чи можна якось щоб воно тут показувало залишки по взаєморозрахунках з клієнтами.

Процедура Сформировать2()
Перем Запрос, ТекстЗапроса, Таб, Заг, Заг1;
глУстПропись(константа.Гривня);

Заг = "По всіх ТМЦ";
Заг1 = "По своїй та давальницькій сировині";
Запрос = СоздатьОбъект("Запрос");
ТаблЗн=СоздатьОбъект("ТаблицаЗначений");
ТаблЗн.НоваяКолонка("Вал");
ТаблЗн.НоваяКолонка("Сум");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с Дата1 по Дата2;
|Обрабатывать НеПомеченныеНаУдаление;
|ТМЦ = Документ.РасходнаяНакладная.ТМЦ, Документ.ВозвратнаяНакладная.ТМЦ;
|текст = Документ.РасходнаяНакладная.текст;
|получил = Документ.РасходнаяНакладная.Получил;
|Контр = Документ.РасходнаяНакладная.Контрагент, Документ.ВозвратнаяНакладная.Контрагент;
|Док = Документ.РасходнаяНакладная.ТекущийДокумент, Документ.ВозвратнаяНакладная.ТекущийДокумент;
|ГПИзДС = Документ.РасходнаяНакладная.ГПизДавСырья;
|Вал = Документ.РасходнаяНакладная.Валюта, Документ.ВозвратнаяНакладная.Валюта;
|Курс = Документ.РасходнаяНакладная.Курс, Документ.ВозвратнаяНакладная.Курс;
|КолРс = Документ.РасходнаяНакладная.Кво;
|СумРс = Документ.РасходнаяНакладная.СуммаСНДС;
|СумБНДС = Документ.РасходнаяНакладная.СуммаБезНДС;
|СумНДС = Документ.РасходнаяНакладная.НДС;
|КолВз = Документ.ВозвратнаяНакладная.Кво;
|СумВз = Документ.ВозвратнаяНакладная.СуммаСНДС;
|СумВзБНДС = Документ.ВозвратнаяНакладная.СуммаБезНДС;
|СумВзНДС = Документ.ВозвратнаяНакладная.НДС;
|Функция КолРсСумма = Сумма(КолРс);
|Функция СумРсСумма = Сумма(СумРс);
|Функция СумБНДССумма = Сумма(СумБНДС);
|Функция СумНДССумма = Сумма(СумНДС);
|Функция КолВзСумма = Сумма(КолВз);
|Функция СумВзСумма = Сумма(СумВз);
|Функция СумВзБНДССумма = Сумма(СумВзБНДС);
|Функция СумВзНДССумма = Сумма(СумВзНДС);
|Группировка Вал;
|Группировка Курс;
|Группировка Контр;
|Группировка ТМЦ Без Групп;
|Группировка Док;";

Если Валюта.Выбран()=1 Тогда
ТекстЗапроса = ТекстЗапроса +"Условие (Вал=Валюта);";
Конецесли;
Если Товар.Выбран() = 1 Тогда
ТекстЗапроса = ТекстЗапроса+"
|Условие(ТМЦ в Товар);";
Заг = Товар.Наименование;
КонецЕсли;
Если Клиент.Выбран() = 1 Тогда
ТекстЗапроса = ТекстЗапроса+"
|Условие(Контр в Клиент);";
КонецЕсли;
Если ДавС = 2 Тогда
ТекстЗапроса = ТекстЗапроса +"Условие (ГПИзДС=0);";
Заг1 = "Лише по своїй сировині";
Конецесли;
Если ДавС = 3 Тогда
ТекстЗапроса = ТекстЗапроса +"Условие (ГПИзДС=1);";
Заг1 = "Лише по давальницькій сировині";
Конецесли;

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ОборотКл");
Таб.ПараметрыСтраницы(1,,,5,0,5,5);
Таб.ВывестиСекцию("Заголовок|Начало");
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Заголовок|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Заголовок|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
Таб.ПрисоединитьСекцию("Заголовок|вВалюте");
Конецесли;
Состояние("Заповнення вихідної таблиці...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
ИтСНДС=0; ИтБезНДС=0; ИтНДС=0;
Пока Запрос.Группировка("Вал") = 1 Цикл
Пока Запрос.Группировка("Курс") = 1 Цикл
Пока Запрос.Группировка("Контр") = 1 Цикл
Если Запрос.Контр.ЭтоГруппа()=1 Тогда
Проп= Формат((Запрос.СумРсСумма-Запрос.СумВзСумма)*Запрос.Курс,"ЧПДС");
Таб.ВывестиСекцию("ГруппаКонтр|Начало");
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("ГруппаКонтр|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("ГруппаКонтр|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
Таб.ПрисоединитьСекцию("ГруппаКонтр|вВалюте");
Конецесли;
Если (Запрос.КолВзСумма<>0) ИЛИ (Запрос.СумВзСумма<>0) Тогда
Таб.ВывестиСекцию("ГруппаКонтр|Начало");
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("ГруппаКонтр|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("ГруппаКонтр|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
Таб.ПрисоединитьСекцию("Возврат|вВалюте");
Конецесли;
КонецЕсли;
Иначе
//Кол = Запрос.КолРсСумма-Запрос.КолВзСумма;
//ЦенаСНДС = ?(Кол<>0, (Запрос.СумРсСумма-Запрос.СумВзСумма)*Запрос.Курс/Кол, 0);
Таб.ВывестиСекцию("Контр|Начало");
ТаблЗн.НоваяСтрока();
ТаблЗн.Вал=Запрос.Вал.Кратко;
ТаблЗн.Сум=Запрос.СумРсСумма-Запрос.СумВзСумма;
ИтСНДС=ИтСНДС+(Запрос.СумРсСумма-Запрос.СумВзСумма)*Запрос.Курс;
ИтБезНДС=ИтБезНДС+(Запрос.СумБНДССумма-Запрос.СумВзБНДССумма)*Запрос.Курс;
ИтНДС=ИтНДС+(Запрос.СумНДССумма-Запрос.СумВзНДССумма)*Запрос.Курс;
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Контр|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Контр|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
Таб.ПрисоединитьСекцию("Контр|вВалюте");
Конецесли;
Если (Запрос.КолВзСумма<>0) ИЛИ (Запрос.СумВзСумма<>0) Тогда
Кол = Запрос.КолВзСумма;
ЦенаСНДС = ?(Кол<>0, Запрос.СумВзСумма*Запрос.Курс/Кол, 0);
Таб.ВывестиСекцию("Возврат|Начало");
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Возврат|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Возврат|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
Таб.ПрисоединитьСекцию("Возврат|вВалюте");
Конецесли;
КонецЕсли;
Если Разворачивать = 1 Тогда
Пока Запрос.Группировка("ТМЦ") = 1 Цикл
Кол = (Запрос.КолРсСумма-Запрос.КолВзСумма);
ЦенаСНДС = ?(Кол<>0, (Запрос.СумРсСумма-Запрос.СумВзСумма)*Запрос.Курс/Кол, 0);
Таб.ВывестиСекцию("ТМЦ|Начало");
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("ТМЦ|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("ТМЦ|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
Таб.ПрисоединитьСекцию("ТМЦ|вВалюте");
Конецесли;
Если ПоДокументам = 1 Тогда
Пока Запрос.Группировка("Док") = 1 Цикл
Колл = 0;
Сумм = 0;
СуммБНДС = 0;
НДС = 0;
Если Запрос.Док.Вид()="РасходнаяНакладная" Тогда
Колл = Запрос.КолРсСумма;
Сумм = Запрос.СумРсСумма;
СуммБНДС = Запрос.СумБНДССумма;
НДС = Запрос.СумНДССумма;
ИначеЕсли Запрос.Док.Вид()="ВозвратнаяНакладная" Тогда
Колл = -Запрос.КолВзСумма;
Сумм = -Запрос.СумВзСумма;
СуммБНДС = -Запрос.СумВзБНДССумма;
НДС = -Запрос.СумВзНДССумма;
КонецЕсли;
ЦенаСНДС = ?(Колл<>0, Сумм*Запрос.Курс/Колл, 0);
Таб.ВывестиСекцию("Док|Начало");
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Док|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Док|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
Таб.ПрисоединитьСекцию("Док|вВалюте");
Конецесли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Таб.ВывестиСекцию("Итого|Начало");
Если пСумБНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Итого|БезНДС");
КонецЕсли;
Если пНДС = 1 Тогда
Таб.ПрисоединитьСекцию("Итого|НДС");
КонецЕсли;
Если (Валюта.Выбран()=0) или (Валюта<>Гривня) Тогда
ТаблЗн.Свернуть("Вал","Сум");
ТаблЗнСум="";
ТаблЗнВал="";
ТаблЗн.ВыбратьСтроки();
Н=1;
Пока ТаблЗн.ПолучитьСтроку()=1 Цикл
ТаблЗнСум=ТаблЗнСум+Формат(Формат(ТаблЗн.Сум, "N019.2"),"S19");
ТаблЗнВал=ТаблЗнВал+Формат(ТаблЗн.Вал,"S3");
Н=Н+1;
Если Н<=ТаблЗн.КоличествоСтрок() Тогда
ТаблЗнСум=СокрЛП(ТаблЗнСум)+РазделительСтрок;
ТаблЗнВал=СокрЛП(ТаблЗнВал)+РазделительСтрок;
КонецЕсли;
КонецЦикла;
Таб.ПрисоединитьСекцию("Итого|вВалюте");
Конецесли;
Таб.ТолькоПросмотр(Константа.ФлагЗащитыТаблиц);
Таб.Показать(" Аналіз реалізації", "");
КонецПроцедуры

  • 0

#2   Max_Nj

Max_Nj

      Ищу работу!!!

    • Пользователи
    • PipPipPipPipPipPipPipPip
    • Сообщений: 506
    • Регистрация: 07-August 08
    • Откуда:Мелитополь

Отправлено 23 February 2011 - 12:22

volodymyr1981, Выложи весь отчет. (ert)
куда нить на обменник
  • 0



Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных