0 / 0 / 0
Регистрация: 28.08.2009
Сообщений: 56
1

Опять Я С документом ЗаказНарядАкт

06.10.2009, 12:56. Показов 10810. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго время Суток!
огромное спасибо за помощь в прошлых темах VBS
кто не знает: Я делал документ для автосервиса ЗаказНарядАкт
В конфигурации Комплексная конфигурация 4.5 (7.70.483)
у меня уже с ним была проблема: не было проводок вообще!
Но после долгой долбежки VBS по мне всё заработало!(проводки стали проводиться)
НО когда бухгалтер увидела мою работу! Показала мне ещё на кучу недоработок

дак вот проблема:
Мой документ реализовывает как услуги так и потраченные матерьялы.
с проводкой на услуги всё в порядки а вот на товар!
Для ясности я прикреплю две картинки Проводки документа реализации и проводки документа ЗаказНарядакт!
Да и ссылки на MD http://files.mail.ru/60RMJ3
и базу http://files.mail.ru/FJ8N8T






Это реализация





Это ЗаказНарядАкт

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2009, 12:56
Ответы с готовыми решениями:

Работа с документом на 1с 7.7
Привет всем! имеется у меня документ, в котором содержится таблица с колонками - "кол-во, цена,...

Проблема с документом в 1С 8.2
Всем доброго времени суток. Программирую на 1С недавно и вот вопрос: имеется справочник...

работа с табличным документом
Задача вот какая:есть табличный документ, и в определенные ячейки со свойством параметр я хочу...

Работа с документом word
Всем доброго времени суток. Возникла такая ситуация. У меня в хранилище значения храниться документ...

4
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2009, 14:52
Помогаю со студенческими работами здесь

Помогите с документом кто-нибудь!
Ребята нужна помощь сам не справлюсь мелочь а не могу но не программер я 1С а пользователь! Сделаю...

Помогите разобраться с документом ГТД
Всем привет, помогите разобраться, комплексная конфигурация, документ ГТД. Формируются проводки не...

Оказание Услуг И Сф Одним Документом
Пишу конфигурацию для фирмы, которая занимается предоставлением посреднеческих услуг. Бухгалтерия у...

Помогите с документом кто-нибудь!
Ребята нужна помощь сам не справлюсь мелочь а не могу но не программер я 1С а пользователь! Сделаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru