Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0
1С Предприятие 7.7(сетевая версия) - 7.70.025 Конфигурация: Производство-Услуги-Бухгалтерия для Украины(7.70.010) Существует отчет "Оборотная ведомость по тмц",который выводит наименование тмц, нач.остаток,приход,расход,кон.остаток в виде количества и суммы, помесячно. Надо чтобы отчет выдавал только приход тмц,причем по поставщикам,которые эти тмц поставили, и не по одному поставщику, а по всем. Если надо, могу выложить код модуля Заранее благодарна
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0
Цитата(Vofka @ 23.03.11, 14:45)
Что конкретно для этого делаете вы, что конкретно не получается? Если нужно за вас написать - милости просим в стол заказов
Не знаю как подвязать документы(приходная накладная запасы, и т.д.),в которых указывается какой поставщик поставил тот или иной товар, не знаю как вывести данные в таблицу из него
а в столе заказов проблему решают платно или бесплатно?
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0
Подскажите, какой функцией выводить контрагентов из документа, или может запросом, и куда вообще хотя бы втулить в код. Я создала Субконто3 с типом значений документ приходная накладная(где хранятся данные о том какой поставщик поставил тот или иной товар) и пробовала вставлять в код с помощью ИспользоватьСубконто с сылкой на этот док, но выдавало вообще что-то непонятное... Вот такая процедура описывает мой отчет:
Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,ВыбСубконто1, 1,); Если Группа = 1 Тогда Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ,ВыбСубконто2, 1,1); Иначе Ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ,ВыбСубконто2, 1,); КонецЕсли; Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, ВыбСчет,,, 1,"Месяц", "СК"); Таб.ВывестиСекцию("Заголовок");
Пока Ит.ПолучитьСубконто(ВидыСубконто.МестаХранения) = 1 Цикл ВІ_Колонки(Таб, "Субконто1"); Ит.ВыбратьСубконто(ВидыСубконто.ТМЦ,,,,,"ИнНомер",); Пока Ит.ПолучитьСубконто(ВидыСубконто.ТМЦ) = 1 Цикл Если Ит.Субконто(ВидыСубконто.ТМЦ).ЭтоГруппа() = 1 Тогда ВІ_Колонки(Таб, "Группа"); Иначе Ном = Ном+1;Дм = ""; Спр = СоздатьОбъект("Справочник.ТМЦ"); Спр.НайтиЭлемент(Ит.Субконто(ВидыСубконто.ТМЦ)); Если Спр.Выбран() = 1 Тогда ЕдИзм = Спр.БазоваяЕдиница; ИнНомер =Спр.Наработка; Если Спр.ДрагМеталл = 1 Тогда ДМ = "д/м"; КонецЕсли; КонецЕсли;
Надо чтобы отчет выдавал только приход тмц,причем по поставщикам,которые эти тмц поставили, и не по одному поставщику, а по всем.
Причем тут оборотка?? Это отчет по приходу. Заходите в конфигуратор и юзайте конструктор запросов. Приходная накладная вам в руки. Потом можете подкорректировать диалог, макет и код. Там вообще широкий диапазон для эксперементов, и главное начнете учиться пользоваться запросами.
Если ВыбКонтрагент.Выбран()=1 Тогда Заг1 = ВыбКонтрагент.Наименование; Иначе Заг1 = "По всем контрагентам"; КонецЕсли;
Если флгСклад = 1 Тогда ТекстЗапроса = текстЗапроса+" |Группировка Клт упорядочить по Клт.Наименование без групп; |Группировка Тов упорядочить по Тов.Наименование без групп;"; Иначе ТекстЗапроса = текстЗапроса+" |Группировка Тов упорядочить по Тов.Наименование без групп;"; КонецЕсли;
Если выбТМЦ.Выбран()=1 Тогда Заг2 = выбТМЦ.Наименование; Иначе Заг2 = "По всем ТМЦ"; КонецЕсли; ТекстЗапроса = текстЗапроса+" |Группировка Ц;";
Если фРН=1 Тогда ТекстЗапроса = текстЗапроса+" |Группировка Док;"; КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
// Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли;
КонецПроцедуры
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Вы скорей всего попадаетет в этот участок кода:
|Группировка Клт упорядочить по Клт.Наименование без групп; |Группировка Тов упорядочить по Тов.Наименование без групп;";
Т.е. в этом случае у вас сначала идет группировка и порядок по клиенту, а внутри клиента по товару. Можно сделать порядок по товарам, но тогда будут товары, а внутри них клиенты. Для этого поменяйте местами эти строки.
НомПП =0; Если флгСклад = 1 Тогда Пока Запрос.Группировка(1) = 1 Цикл таб.ВывестиСекцию("Контрагент"); Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл ТМЦ = Запрос.Тов; НомПП =НомПП + 1; таб.ВывестиСекцию("Строка"); Если (фРН = 1) Тогда Пока Запрос.Группировка(4) = 1 Цикл Док = Запрос.Док; таб.ВывестиСекцию("РНСтрока"); КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла; таб.ВывестиСекцию("ИтогКонтрагент"); КонецЦикла; Иначе Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл ТМЦ = Запрос.Тов; НомПП =НомПП + 1; таб.ВывестиСекцию("Строка"); Если (фРН = 1) Тогда Пока Запрос.Группировка(3) = 1 Цикл Док = Запрос.Док; таб.ВывестиСекцию("РНСтрока"); КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли;
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Цитата
а это в стол заказов я так понимаю?)
Если вам нужно сделать отчет - то да. Вы привели только текст отчета. Т.е. Для того, чтобы с ним разобраться нужно анализировать. А без конфигурации и самого отчета - это ещё тяжелее. Поэтому, лично я, за спасибо этим в ближайшее время заниматься не буду. Может у кого-то есть время и заняться нечем - он поможет. Поэтому варианта 2: 1. Задавать более конкретные вопросы; 2. Стол заказов.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!