Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 22:35

Помогите разжевать код

Автор Sleytor, 26 авг 2017, 14:46

0 Пользователей и 1 гость просматривают эту тему.

Sleytor

есть реквизит  Измцены в поступление ТМЦ - на форме название изменить цены номенклатуры. Не могу понять что этот код делает.
Если Измцены=1 Тогда
СпрЦен=СоздатьОбъект("Справочник.Цены");
ТаблицаДокумента.ВыбратьСтроки();

Пока ТаблицаДокумента.ПолучитьСтроку()=1 Цикл

Если ТаблицаДокумента.Цена<>0 Тогда
Если ВремРег.СводныйОстаток(КонтрАгент,ТаблицаДокумента.Номенклатура,"Цена")<>0 Тогда
Регистр.ЦеныПоставщиков.Поставщик=КонтрАгент;
Регистр.ЦеныПоставщиков.товар=ТаблицаДокумента.Номенклатура;
Регистр.ЦеныПоставщиков.Цена=ВремРег.СводныйОстаток(КонтрАгент,ТаблицаДокумента.Номенклатура,"Цена");
Регистр.ЦеныПоставщиков.ДвижениеРасходВыполнить();
КонецЕсли;
Регистр.ЦеныПоставщиков.Поставщик=КонтрАгент;
Регистр.ЦеныПоставщиков.Товар=ТаблицаДокумента.Номенклатура;
Регистр.ЦеныПоставщиков.Цена=ТаблицаДокумента.Цена;
Регистр.ЦеныПоставщиков.ДвижениеПриходВыполнить();


СпрЦен.ИспользоватьВладельца(ТаблицаДокумента.Номенклатура);
СпрЦен.ИспользоватьДату(ДатаДок);
Если СпрЦен.НайтиПоРеквизиту("ТипЦен",ТипЦен,0)=0 Тогда
СпрЦен.Новый();
СпрЦен.ИспользоватьДату(ДатаДок);
СпрЦен.ТипЦен  = ТипЦен;
СпрЦен.Валюта  = Валюта;
СпрЦен.Единица = ТаблицаДокумента.Номенклатура.БазоваяЕдиница;
СпрЦен.Записать();
УстановитьРеквизитСправочника(СпрЦен.ТекущийЭлемент(),"Цена",ТаблицаДокумента.Цена,ТекущийДокумент());
Иначе

Курсы=СоздатьОбъект("Периодический");   
Курсы.ИспользоватьОбъект("Цена",СпрЦен.ТекущийЭлемент());
Курсы.ОбратныйПорядок();
Если Курсы.ВыбратьЗначения()=1 Тогда   
Курсы.ПолучитьЗначение();
ДатаЗнач = Курсы.ДатаЗнач;
Иначе
ДатаЗнач = 0;       
КонецЕсли;
//Если (ДатаДок-ДатаЗнач)<Константа.СрокДействияЦеныПоставщика Тогда
// Продолжить;
//КонецЕсли;

Если (СпрЦен.Цена<=Цена) И (СпрЦен.Цена<>0) И ((ДатаДок-ДатаЗнач)<Константа.СрокДействияЦеныПоставщика) Тогда
Продолжить;
Иначе
УстановитьРеквизитСправочника(СпрЦен.ТекущийЭлемент(),"Цена",ТаблицаДокумента.Цена,ТекущийДокумент());
УстановитьРеквизитСправочника(СпрЦен.ТекущийЭлемент(),"Единица",ТаблицаДокумента.Единица,ТекущийДокумент());
КонецЕсли;
КонецЕсли;


КонецЕсли;
КонецЦикла;     
КонецЕсли;

alex0402

1) добавляет движения в регистр ЦеныПоставщиков.
2) изменяет Справочник.Цены.
Спасибо за Сказать спасибо

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск