0 / 0 / 0
Регистрация: 28.08.2009
Сообщений: 56
|
|
1 | |
Опять Я С документом ЗаказНарядАкт06.10.2009, 12:56. Показов 10810. Ответов 4
Метки нет (Все метки)
Доброго время Суток!
огромное спасибо за помощь в прошлых темах VBS кто не знает: Я делал документ для автосервиса ЗаказНарядАкт В конфигурации Комплексная конфигурация 4.5 (7.70.483) у меня уже с ним была проблема: не было проводок вообще! Но после долгой долбежки VBS по мне всё заработало!(проводки стали проводиться) НО когда бухгалтер увидела мою работу! Показала мне ещё на кучу недоработок дак вот проблема: Мой документ реализовывает как услуги так и потраченные матерьялы. с проводкой на услуги всё в порядки а вот на товар! Для ясности я прикреплю две картинки Проводки документа реализации и проводки документа ЗаказНарядакт! Да и ссылки на MD http://files.mail.ru/60RMJ3 и базу http://files.mail.ru/FJ8N8T Это реализация Это ЗаказНарядАкт
0
|
06.10.2009, 12:56 | |
Ответы с готовыми решениями:
4
Работа с документом на 1с 7.7 Проблема с документом в 1С 8.2 работа с табличным документом Работа с документом word |
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
07.10.2009, 14:26 | 2 |
Документ новый внедрить в комплексную - дело простое, а вот проводки к нему - далеко не тривиальное.
Похоже, ты обречен по образу и подобию документа "Реализация" настроить справочники "ДвиженияРегистров" и "ХозОперации" для "ЗаказНарядАкт" так, чтобы они обеспечивали списание с 41 счета. Правильным это не выглядит, но если главбух так хочет - придется пробовать именно в этом направлении
0
|
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
|
|
07.10.2009, 18:15 | 3 |
какой молодец однако. базу выложил. видать не подписывал док о не разглашении комерческой тайны ;) ;) ;) :D :D
0
|
0 / 0 / 0
Регистрация: 28.08.2009
Сообщений: 56
|
|
08.10.2009, 14:17 | 4 |
нет подписывал :()
Так всё я проблему решил: Скопировал в хоз. операциях элемент реализации и все её проводки! потом в модуле документа ЗаказНарядАкт прописал заного движение регистров это выгледит так: Процедура ПроведениеПоРегистрам() Перем ТаблСписПартий, ТаблСписПартийКом; Перем ВремРегистры; Перем ВремЗаявки, ВремЗаказыЗаявки, ВремОстаткиТМЦ, ВремРезервыТМЦ, ВремПартииНаличие, ВремПокупатели; // Удаление движений по регистрам. Для Номер = 1 По Метаданные.Регистр() Цикл ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор); КонецЦикла; ТаблицаУслуг = СоздатьОбъект("ТаблицаЗначений"); ТаблицаТМЦ = глПодготовитьТаблицуДокумента(Контекст,1,ТаблицаУслуг); ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма); СписокПараметров=СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(ТекущийДокумент(),"ТекДок"); СписокПараметров.ДобавитьЗначение(Склад, "Склад"); СписокПараметров.ДобавитьЗначение(Фирма, "Фирма"); СписокПараметров.ДобавитьЗначение(ФирмаДляОстатковТМЦ,"ФирмаДляОстатковТМЦ"); СписокПараметров.ДобавитьЗначение(Контрагент, "Контрагент"); СписокПараметров.ДобавитьЗначение(Договор, "Договор"); // Сформируем список статусов партий СтатусПартии = СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(КодОперации, "КодОперации"); ВремРегистры = СоздатьОбъект("Регистры"); ВремЗаявки = ВремРегистры.Заявки; ВремЗаказыЗаявки = ВремРегистры.ЗаказыЗаявки; ВремОстаткиТМЦ = ВремРегистры.ОстаткиТМЦ; ВремРезервыТМЦ = ВремРегистры.РезервыТМЦ; ВремПартииНаличие = ВремРегистры.ПартииНаличие; ВремПокупатели = ВремРегистры.Покупатели; ФильтрЗаявок ( ТаблицаТМЦ, ТаблицаУслуг, ВремЗаявки, ВремЗаказыЗаявки); глФильтрОстатковТМЦ (Контекст, ТаблицаТМЦ, СписокПараметров, ВремОстаткиТМЦ,ВремРезервыТМЦ ); глФильтрПартийТМЦ (Контекст, ТаблицаТМЦ, СписокПараметров, ВремПартииНаличие ); Если КодОперации=Перечисление.КодыОпераций.Продажа Тогда глФильтрДолгов (Контекст, Договор, СписокПараметров, ВремПокупатели ); КонецЕсли; Если ИтогиАктуальны()=0 Тогда ВремРегистры.Актуальность(1); ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент()); КонецЕсли; // контроль величины кредита клиенту (с учетом права пользователя превышать его) Если КодОперации = глКО.Продажа Тогда Если КонтрольКредитаПройден(ВремПокупатели) = 0 Тогда Возврат; КонецЕсли; КонецЕсли; ДвижениеЗаявокПокупателя(ТаблицаТМЦ, ВремЗаявки, ВремЗаказыЗаявки, ВремРезервыТМЦ); // по ТМЦ ДвижениеЗаявокПокупателя(ТаблицаУслуг, ВремЗаявки, ВремЗаказыЗаявки, ВремРезервыТМЦ); // по услугам и работам // остатки ТМЦ Если глСписаниеОстатковТМЦ (Контекст,ТаблицаТМЦ,СписокПараметров, ВремОстаткиТМЦ, ВремРезервыТМЦ)=0 Тогда Возврат; КонецЕсли; // партии ТМЦ глСписаниеПартийТМЦ(Контекст,ТаблицаТМЦ,СписокПараметров,ВремПартииНаличие,ТаблС писПартий,ТаблСписПартийКом); Если КодОперации=Перечисление.КодыОпераций.ПередачаНаРеализацию Тогда // надо списанные партии оприходовать на регистр "Партии отданные" ТаблСписПартий.ВыбратьСтроки(); Пока ТаблСписПартий.ПолучитьСтроку()=1 Цикл //измерения Регистр.ПартииОтданные. Фирма = ТаблСписПартий.Фирма; Регистр.ПартииОтданные. Номенклатура = ТаблСписПартий.Номенклатура; Регистр.ПартииОтданные. СтатусПартии = ТаблСписПартий.СтатусПартии; Регистр.ПартииОтданные. Партия = ТаблСписПартий.Партия; Регистр.ПартииОтданные. Договор = Договор; Регистр.ПартииОтданные. ДокументПередачи= ТекущийДокумент(); // ресурсы Регистр.ПартииОтданные. Количество = ТаблСписПартий.Количество; Регистр.ПартииОтданные. СуммаУпр = ТаблСписПартий.СуммаУпр; Регистр.ПартииОтданные. СуммаРуб = ТаблСписПартий.СуммаРуб; Регистр.ПартииОтданные. СуммаБезНДС = ТаблСписПартий.СуммаБезНДС; Регистр.ПартииОтданные. ПродСтоимость = ТаблСписПартий.СуммаПрод; // реквизиты Регистр.ПартииОтданные. КодОперации = глКО.ПередачаНаРеализацию; Регистр.ПартииОтданные. ДвижениеПриходВыполнить(); КонецЦикла; // проверим, а не указал ли пользователь услуги или работы - их отдавать на релизацию нельзя ТаблицаУслуг.ВыбратьСтроки(); Если ТаблицаУслуг.ПолучитьСтроку()= 1 Тогда глНеПроводить(Контекст,"Услуги и работы отдавать на реализацию невозможно! ("+ТаблицаУслуг.Номенклатура+")"); Возврат; КонецЕсли; ИначеЕсли КодОперации=Перечисление.КодыОпераций.Продажа Тогда // движение оборотного регистра "продажи" ТаблСписПартий.ВыбратьСтроки(); Пока ТаблСписПартий.ПолучитьСтроку()=1 Цикл глДвижениеОборотовПродаж(Контекст, Фирма, Контрагент, ТаблСписПартий.Партия.Поставщик, ТаблСписПартий.Номенклатура, ТаблСписПартий.Количество, ТаблСписПартий.СуммаУпр, ТаблСписПартий.СуммаПродУпр); КонецЦикла; ТаблСписПартий.Свернуть("СтатусПартии,СтавкаНП,СтавкаНДС,ДоговорКомитента","Сумм аПрод,СуммаПродУпр,СуммаПродРуб,НДСПрод,НППрод,СуммаБезНДС"); ТаблСписПартий.НоваяКолонка("КредДокумент"); ТаблСписПартий.НоваяКолонка("ВидДолга"); ТаблСписПартий.НоваяКолонка("Сумма"); ТаблСписПартий.НоваяКолонка("СуммаУпр"); ТаблСписПартий.НоваяКолонка("СуммаРуб"); ТаблСписПартий.НоваяКолонка("СуммаНДС"); ТаблСписПартий.НоваяКолонка("СуммаНП"); ТаблСписПартий.НоваяКолонка("Себестоимость"); ТаблСписПартий.НоваяКолонка("ОблагаетсяНП"); ТаблСписПартий.ВыбратьСтроки(); Пока ТаблСписПартий.ПолучитьСтроку()=1 Цикл ТаблСписПартий.КредДокумент = ТекущийДокумент(); ТаблСписПартий.ВидДолга = ВидДолгаПоСтатусу(ТаблСписПартий.СтатусПартии); ТаблСписПартий.Себестоимость= ТаблСписПартий.СуммаБезНДС; ТаблСписПартий.СуммаНДС = ТаблСписПартий.НДСПрод; ТаблСписПартий.СуммаНП = ТаблСписПартий.НППрод; ТаблСписПартий.Сумма = ТаблСписПартий.СуммаПрод; ТаблСписПартий.СуммаУпр = ТаблСписПартий.СуммаПродУпр; ТаблСписПартий.СуммаРуб = ТаблСписПартий.СуммаПродРуб; ТаблСписПартий.ОблагаетсяНП = УчитыватьНП; КонецЦикла; СписокПараметров.Установить("ЗнакДвижения", 1); // идет увеличение долга глДвижениеДолгов(Контекст,Договор,ТаблСписПартий,СписокПараметров,ВремПокупатели ); // запомним, что мы продали принятые на комиссию товары... ТаблСписПартийКом.ВыбратьСтроки(); Пока ТаблСписПартийКом.ПолучитьСтроку()=1 Цикл Регистр.РеализованныйТовар.Фирма = ТаблСписПартийКом.Фирма; Регистр.РеализованныйТовар.Договор = ТаблСписПартийКом.Партия.ДоговорПоставщика; Регистр.РеализованныйТовар.Номенклатура = ТаблСписПартийКом.Номенклатура; Регистр.РеализованныйТовар.Партия = ТаблСписПартийКом.Партия; Регистр.РеализованныйТовар.ДокПродажи = ТекущийДокумент(); Регистр.РеализованныйТовар.Количество = ТаблСписПартийКом.Количество; Регистр.РеализованныйТовар.ПродСтоимость = ТаблСписПартийКом.СуммаПродРуб - ТаблСписПартийКом.НППрод; Регистр.РеализованныйТовар.ДвижениеПриходВыполнить(); КонецЦикла; // реализация услуг глДвижениеПартийУслуг(Контекст, ТаблицаУслуг, СписокПараметров); // сначала увеличим обороты продаж по услугам и работам ТаблицаУслуг.ВыбратьСтроки(); Пока ТаблицаУслуг.ПолучитьСтроку()=1 Цикл глДвижениеОборотовПродаж(Контекст, Фирма, Контрагент, "", ТаблицаУслуг.Номенклатура, ТаблицаУслуг.Количество, 0, ТаблицаУслуг.СуммаУпр); КонецЦикла; // теперь задолженность покупателя за отпущенные услуги или работы СписокПараметров.Установить("ЗнакДвижения",1); // увеличился долг клиента ТаблицаУслуг.Свернуть("Вид,СтавкаНДС,СтавкаНП","Сумма,СуммаУпр,СуммаРуб,СуммаНДС ,СуммаНП"); ТаблицаУслуг.НоваяКолонка("КредДокумент"); ТаблицаУслуг.НоваяКолонка("ВидДолга"); ТаблицаУслуг.НоваяКолонка("Себестоимость"); ТаблицаУслуг.НоваяКолонка("ДоговорКомитента"); ТаблицаУслуг.НоваяКолонка("ОблагаетсяНП"); ТаблицаУслуг.ВыбратьСтроки(); Пока ТаблицаУслуг.ПолучитьСтроку()=1 Цикл ТаблицаУслуг.КредДокумент = ТекущийДокумент(); Если ТаблицаУслуг.Вид = Перечисление.ВидыНоменклатуры.Услуга Тогда ТаблицаУслуг.ВидДолга = глВД.ДолгЗаУслуги; Иначе ТаблицаУслуг.ВидДолга = глВД.ДолгЗаРаботы; КонецЕсли; ТаблицаУслуг.Себестоимость = 0; ТаблицаУслуг.ОблагаетсяНП = УчитыватьНП; КонецЦикла; глДвижениеДолгов(Контекст,Договор,ТаблицаУслуг,СписокПараметров,ВремПокупатели); КонецЕсли; КонецПроцедуры
0
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
08.10.2009, 14:52 | 5 |
Ну вот, справился !
А сколько бесценного опыта приобрел !
0
|
08.10.2009, 14:52 | |
08.10.2009, 14:52 | |
Помогаю со студенческими работами здесь
5
Помогите с документом кто-нибудь! Помогите разобраться с документом ГТД Оказание Услуг И Сф Одним Документом Помогите с документом кто-нибудь! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |