Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ввод ОстТов
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Пользователю 1С 7.7 > 1С Производство + Услуги + Бухгалтерия 7.7 для Украины
germ-36


Перем спФирмы;
Перем Поставщик;
Перем КодОперации;
Перем Статус;
// ===============================
Функция ПроверкаШапки()
глВсеВыбрано = 1;
глПроверкаДатыДок(Контекст,"Проведение","Т");
глВыбранЛи(Фирма,"Фирма");
Если Фирма.Выбран() = 0 Тогда
глКомментарий("Необходимо выбрать Фирму");
КонецЕсли;
глВсеВыбрано = 0;
глВсеВыбрано = ?(глВсеВыбрано = 0, 0, глПроверкаДублейСтрок(Контекст));
глВыбранЛи(МестоХранения,"Склад");
Если МестоХранения.Выбран() = 0 Тогда
глКомментарий("Необходимо выбрать Склад");
глВсеВыбрано = 0;
Иначе
Если МестоХранения.Выбран() = 1 Тогда
КонецЕсли;
КонецЕсли;
Возврат глВсеВыбрано;
КонецФункции

// ===============================
Функция ПроверкаСтроки()
глВсеВыбрано = 1;
глВыбранЛи(ТМЦ,"ТМЦ",НомерСтроки);
Если глВсеВыбрано = 1 Тогда
глВсеВыбрано = ?(глПроверкаТовараВДокументе(Контекст,ТМЦ,НомерСтроки,1)=Да, глВсеВыбрано, 0);
КонецЕсли;
глВыбранЛи(Ед,"Единица",НомерСтроки);
Возврат глВсеВыбрано;
КонецФункции

// ===============================
Процедура ДвиженияОстатки()
глКомментарий("Выполняются движения остатков товаров",2);
ФлагПрихода = 1;
ФлагВозврата = 0;
глИзменитьОстатки(Контекст, спФирмы, МестоХранения,ФлагВозврата, ФлагПрихода);
КонецПроцедуры
// ===============================
Процедура ДвиженияПартии()

глКомментарий("Выполняются движения партий товаров",2);

Для Инд=1 по спФирмы.РазмерСписка() Цикл
текФирма = спФирмы.ПолучитьЗначение(Инд);

Если ПустоеЗначение(текФирма)=1 Тогда
МетодРасчетаСебестоимости = Константа.МетодРасчетаСебестоимостиУправленческогоУчета;
Иначе
МетодРасчетаСебестоимости = текФирма.МетодРасчетаСебестоимостиФинансовогоУчета.Получить(ДатаДок);
КонецЕсли;

Регистр.ПартииТоваров.Фирма = текФирма;

Если МетодРасчетаСебестоимости = Перечисление.МетодыРасчетаСебестоимости.ПоСреднему Тогда
ПоставщикП = 0;
ПоставкаП = 0;
ПрихДокументП = 0;
Иначе
ПоставщикП = Поставщик;
ПоставкаП = ТекущийДокумент();
ПрихДокументП = ТекущийДокумент();
КонецЕсли;

Если ПустоеЗначение(текФирма)=1 Тогда
ВУ = Доллары;
Иначе
ВУ = Гривня;
КонецЕсли;

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если Константа.ПартионныйУчетПоСкладам = Да Тогда
МестоХраненияП = МестоХранения;
Иначе
МестоХраненияП = 0;
КонецЕсли;
ПриходОстатокТовара = Кво * Ед.Коэффициент;

ПриходСтоимость = глПересчет(СуммаБезНДС, Гривня,ДатаДок,ВУ,ДатаДок,);
ПриходПродСтоимость = 0;
ПриходНДС = глПересчет(СуммаСНДС - СуммаБезНДС,Гривня,ДатаДок,ВУ,ДатаДок,);

Если ПустоеЗначение(текФирма)=1 Тогда
Оборот = ПриходСтоимость+ПриходНДС;
Иначе
Оборот = ПриходСтоимость;
КонецЕсли;
СтатусП = Статус;


глПровестиПартию(Контекст, 1, 0, текФирма, ТМЦ,СтатусП, МестоХраненияП, ПоставщикП,
ПоставкаП, ПрихДокументП, ПриходОстатокТовара, ПриходСтоимость, ПриходПродСтоимость, ПриходНДС,
КодОперации, , 1, Оборот, 0);


глПровестиПартию(Контекст, 0, 0, текФирма, ТМЦ, СтатусП, МестоХраненияП, ПоставщикП,
ПоставкаП, ПрихДокументП, ПриходОстатокТовара, ПриходСтоимость, ПриходПродСтоимость, ПриходНДС,
КодОперации, , 0, 0, 0);



МестоХраненияП = Фирма.МестоХранения;
ПриходПродСтоимость = глПересчет(СуммаСНДС,Гривня,ДатаДок,ВУ,ДатаДок,);

глПровестиПартию(Контекст, 1, 0, текФирма, ТМЦ, СтатусП, МестоХраненияП, ПоставщикП,
ПоставкаП, ПрихДокументП, ПриходОстатокТовара, ПриходСтоимость, ПриходПродСтоимость, ПриходНДС,
КодОперации, , 0, 0, 0);

КонецЦикла; // строки документа
КонецЦикла; // Фирмы
КонецПроцедуры

// ===============================
// ===============================

Процедура ОбработкаПроведения()
глКомментарий("Начало",2,Контекст);

Если ПроверкаШапки() = 0 Тогда
глНеПроводить(Контекст);
Возврат;
КонецЕсли;

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если ПроверкаСтроки() = 0 Тогда
глНеПроводить(Контекст);
Возврат;
КонецЕсли;
КонецЦикла;

спФирмы = глПолучитьФирмы(Контекст);

Если спФирмы.РазмерСписка()>0 Тогда

ДвиженияОстатки();

КонецЕсли;

Если глСформироватьБухПроводки(Контекст)=0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;

глКомментарий("Окончание",2,Контекст);
КонецПроцедуры


И не так Все?
Batchir
60000000.gif Ну и с чем это курить?
sarius
Да и раз уж выкладываешь код - используй колорер какой-нить
Например необходимо зарегистрироваться для просмотра ссылки
Batchir
Цитата(sarius @ 26.06.09, 9:14) необходимо зарегистрироваться для просмотра ссылки
Да и раз уж выкладываешь код - используй колорер какой-нить
Например необходимо зарегистрироваться для просмотра ссылки

ОФФТОП: Похоже раскраска кода нормально только в опере работает ... надо будет подумать над этим ...
sarius
Дык я в тексте и не вижу тегов для цвета... Только разрывы строк
Batchir
Цитата( @ 26.06.09, 9:53) необходимо зарегистрироваться для просмотра ссылки
Дык я в тексте и не вижу тегов для цвета... Только разрывы строк


Вся конструкция кода помещается в тег "Код 1С", вот только она отрабатывает нормально только для оперы. На досуге займусь этим вопросом
Vofka
Цитата
И не так Все?


Нет, не так
MATEVI
Афтар а в чем проблема то???

Цитата(Batchir @ 25.06.09, 22:09) необходимо зарегистрироваться для просмотра ссылки
60000000.gif Ну и с чем это курить?

Хорошая? smile.gif)))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.