Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Помогите с примером по 1С

Makarkey
читатель
офлайн
Дата регистрации: 15.01.2007
Сообщений: 5
Пост №1
 
15.01.2007 22:14

"Подскожите как сзделать в данной задачи чтобы материалы отоброжались <br>только те которые фактически числятся на складе?<br><br> Функция СформироватьТаблицуОтчета()<br> <br>             ТЗ_Отчет = СоздатьОбъект("ТаблицаЗначений");<br> Запрос = СоздатьОбъект("Запрос");<br> ТекстЗапроса=<br> "//{{ЗАПРОС(МойЗапрос)<br> |Обрабатывать НеПомеченныеНаУдаление;<br> |Материал = Справочник.Материалы.ТекущийЭлемент;<br> |Цена = Справочник.Материалы.Цена;<br> |ЕдИзм = Справочник.Материалы.ЕдиницаИзмерения;<br> |Группировка Материал Без Групп;<br> |Без Итогов;<br> |//}}ЗАПРОС";<br> <br> Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда<br> Возврат ТЗ_Отчет;<br> КонецЕсли;<br> Запрос.Выгрузить(ТЗ_Отчет, 1);<br> ТЗ_Отчет.НоваяКолонка("Остаток", "Число");<br> <br> БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы, , 1);<br> БухИтоги.ИспользоватьСубконто(ВидыСубконто.МестаХранения, фСклад.ТекущийЭлемент(), 2);<br> БухИтоги.ВключатьСубсчета(1);<br> БухИтоги.ВыполнитьЗапрос(фНаДату, фНаДату, "10", , , 1);<br> БухИтоги.ВыбратьСубконто(1);<br> Пока БухИтоги.ПолучитьСубконто(1)=1 Цикл<br> Материал=БухИтоги.Субконто(1);<br> ОстМатериал=БухИтоги.СКД("К")-БухИтоги.СКК("К");<br> чНомСтр=0;<br> Если ТЗ_Отчет.НайтиЗначение(Материал, чНомСтр, "Материал")=0 Тогда<br> ТЗ_Отчет.НоваяСтрока();<br> ТЗ_Отчет.Материал = Материал;<br> ТЗ_Отчет.Цена = Материал.Цена;<br> ТЗ_Отчет.ЕдИзм = Материал.ЕдиницаИзмерения;<br> чНомСтр = ТЗ_Отчет.КоличествоСтрок();<br> КонецЕсли;<br> ТЗ_Отчет.УстановитьЗначение(чНомСтр, "Остаток", ОстМатериал);<br> КонецЦикла;<br> Возврат ТЗ_Отчет;<br>КонецФункции <br><br> <br>                              <br>       Процедура ПечатьОтчета(пТЗ_Отчет)<br><br> Таб=СоздатьОбъект("Таблица");<br> Таб.ИсходнаяТаблица("Таблица");<br> ПечШапка="Остатки материалов "+СокрЛП(фСклад.Наименование)+" на "+фНаДату;<br> Таб.ВывестиСекцию("Шапка");<br> НачСтрТаблицы=Таб.ВысотаТаблицы()+1;<br> ПечНомер=0;<br> пТЗ_Отчет.ВыбратьСтроки();<br> <br>        <br> <br> Пока пТЗ_Отчет.ПолучитьСтроку()=1 Цикл<br> <br> ПечМатериал=пТЗ_Отчет.Материал.Наименование; <br> ПечКол=пТЗ_Отчет.ЕдИзм.Наименование;<br> ПечЦена=пТЗ_Отчет.Цена;<br> ПечУчетныйОстаток=пТЗ_Отчет.Остаток;<br> ПечНомер=ПечНомер+1;<br> РасшМатериал=пТЗ_Отчет.Материал;<br>       <br> Таб.ВывестиСекцию("Строка");<br> КонецЦикла;<br><br> Таб.ТолькоПросмотр(1);<br> Таб.Показать("Ведомость");<br><br>КонецПроцедуры <br> <br> <br><br>Процедура Сформировать()<br> ТЗ_Отчет=СформироватьТаблицуОтчета();<br> ПечатьОтчета(ТЗ_Отчет);<br>КонецПроцедуры<br>"

radli
читатель
офлайн
Дата регистрации: 15.04.2004
Сообщений: 20
Пост №2
 
15.01.2007 23:35

"при печати в цикле добавь<br>если пТЗ_Отчет.Остаток<>0 тогда<br> Таб.ВывестиСекцию("Строка");<br>конецесли;"

Daedal
читатель
офлайн
Дата регистрации: 20.09.2004
Сообщений: 632
Пост №3
 
16.01.2007 05:14

"А я бы написал: Если пТЗ_Отчет.Остаток = 0 тогда продолжить; КонецЕсли;<br><br>Или изменить выборку материалов. А то сделана она как-то подозрительно... :-)"

Shwed
читатель
офлайн
Дата регистрации: 26.07.2006
Сообщений: 87
Пост №4
 
16.01.2007 09:35

Так а ты зачем вообще используешь запрос-то?<br><br>Строй ТЗ по бухгалтерским итогам - и работать быстрее будет и как раз будут отобраны только те материалы, которые есть на складе по бух.данным

Makarkey
читатель
офлайн
Дата регистрации: 15.01.2007
Сообщений: 5
Пост №5
 
16.01.2007 10:00

А можеш подскозать по точней как это будет выглядеть по бухгалтерским итогам !!!

Shwed
читатель
офлайн
Дата регистрации: 26.07.2006
Сообщений: 87
Пост №6
 
16.01.2007 11:35

"Я бы вообще вот так сделал, зачем заморачиваться с запросами - получается, что ты делаешь одно и тоже два раза...<br><br>Процедура Сформировать()<br> Таб=СоздатьОбъект("Таблица");<br> Таб.ИсходнаяТаблица("Таблица");<br> ПечШапка="Остатки материалов "+СокрЛП(фСклад.Наименование)+" на "+фНаДату;<br> Таб.ВывестиСекцию("Шапка");<br> ПечНомер=0;<br> БухИтоги = СоздатьОбъект("БухгалтерскиеИтоги");<br> БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы, , 1);<br> Если фСклад.Выбран() = 1 Тогда<br> БухИтоги.ИспользоватьСубконто(ВидыСубконто.МестаХранения, фСклад.ТекущийЭлемент(), 2);<br> КонецЕсли;<br> БухИтоги.ВключатьСубсчета(1);<br> БухИтоги.ВыполнитьЗапрос(фНаДату, фНаДату, "10", , , 1);<br> БухИтоги.ВыбратьСубконто(1);<br> Пока БухИтоги.ПолучитьСубконто(1)=1 Цикл<br> РасшМатериал=БухИтоги.Субконто(1);<br>             Если РасшМатериал.ПометкаУдаления() = 1 Тогда<br>                   Продолжить();<br>             КонецЕсли;<br> ПечМатериал=БухИтоги.Субконто(1).Наименование;<br><br> ПечУчетныйОстаток=БухИтоги.СКД("К")-БухИтоги.СКК("К");<br> ПечКол=РасшМатериал.ЕдиницаИзмерения;<br> ПечЦена=РасшМатериал.Цена;<br> ПечНомер=ПечНомер+1;<br> Таб.ВывестиСекцию("Строка");<br> КонецЦикла;<br> Таб.ТолькоПросмотр(1);<br> Таб.Показать("Ведомость");<br>КонецПроцедуры<br><br>Естественно, что в выборку у тебя попадут только те материалы, по которым есть остаток. И вообще нужно быть аккуратным, т.к. не на всех 10 счетах 2-е субконто "МестаХранения"."

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация
Предложения партнеров
Обучение пользователей продуктов 1С