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

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

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

Вопрос программерам по ТиС

Al_vsd_y
читатель
офлайн
Дата регистрации: 27.06.2005
Сообщений: 66
Пост №1
 
07.03.2006 10:56

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

CheshirskyCat
читатель
офлайн
Дата регистрации: 09.01.2004
Сообщений: 326
Пост №2
 
07.03.2006 11:38

"Может быть так:<br>// После строчки<br>Спр=СоздатьОбъект("Справочник.Номенклатура");<br>// добавить <br>Если Спр.НайтиПоКоду(21245)<>0 Тогда<br>ИсклГруппа = Спр.ТекущийЭлемент();<br>КонецЕсли;<br><br>Потом в текст запроса вставляем<br>&&........<br>|Условие (ВидМПЗ = Продукция);<br>|Условие (Склад в МестоХранения); <br>|Условие (МПЗ в Прод);<br>|Условие (НЕ (МПЗ в ИсклГруппа))<br>|<br><br>Жирненьким помечено что вставили...<br>Тогда в запрос не будут попадать элементы принадлежащие группе ИсклГруппа<br>если я правильно понял текст модуля... <br>Попробуй...<br>"

Al_vsd_y
читатель
офлайн
Дата регистрации: 27.06.2005
Сообщений: 66
Пост №3
 
07.03.2006 12:03

Все прекрасно работает, огромное СПАСИБО!

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

Читают тему:

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