Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Функция ЗапуститьФоновоеВыполнениеDbf(ДвоичныеДанныеФайла) Экспорт
- АдресВременногоФайла = КаталогВременныхФайлов();
- АдресВременногоФайла = АдресВременногоФайла + "fileDBF.dbf";
- УдалитьФайлы(АдресВременногоФайла, );
- ДвоичныеДанныеФайла.Записать(АдресВременногоФайла);
- ДБФ = Новый XBase;
- ДБФ.ОткрытьФайл(АдресВременногоФайла); //Открытие файла
- КонецДокумента = Истина;
- Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-00003813");
- Валюта = Поставщик.Бит_ОсновнаяВалюта;
- Пока ДБФ.Следующая() Цикл
- Если НЕ (ДБФ.NAME)= "" И НЕ (ДБФ.CODE)= "" Тогда
- НоменклатураАртикул = ДБФ.NAME;
- ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
- Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
- ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
- Иначе
- МассивОбъёмЗакупкиДляЦены = Новый Массив(6);
- МассивЦена4ЗнакаПослеЗапятой = Новый Массив(6);
- МассивОбъёмЗакупкиДляЦены[0] = ДБФ.QTY_1;
- МассивОбъёмЗакупкиДляЦены[1] = ДБФ.QTY_2;
- МассивОбъёмЗакупкиДляЦены[2] = ДБФ.QTY_3;
- МассивОбъёмЗакупкиДляЦены[3] = ДБФ.QTY_4;
- МассивОбъёмЗакупкиДляЦены[4] = ДБФ.QTY_5;
- МассивОбъёмЗакупкиДляЦены[5] = ДБФ.QTY_6;
- //Получаем 6 цен
- МассивЦена4ЗнакаПослеЗапятой[0] = ДБФ.PRICE_1;
- МассивЦена4ЗнакаПослеЗапятой[1] = ДБФ.PRICE_2;
- МассивЦена4ЗнакаПослеЗапятой[2] = ДБФ.PRICE_3;
- МассивЦена4ЗнакаПослеЗапятой[3] = ДБФ.PRICE_4;
- МассивЦена4ЗнакаПослеЗапятой[4] = ДБФ.PRICE_5;
- МассивЦена4ЗнакаПослеЗапятой[5] = ДБФ.PRICE_6;
- Для ИндексМассива = 0 по 5 Цикл
- Если Не МассивЦена4ЗнакаПослеЗапятой[ИндексМассива] = 0 Тогда
- МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
- МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
- МенеджерЗаписи.Поставщик = Поставщик;
- МенеджерЗаписи.Валюта = Валюта;
- МенеджерЗаписи.Производитель = Справочники.Производители.НайтиПоНаименованию(ДБФ.PRODUCER);
- МенеджерЗаписи.Цена = МассивЦена4ЗнакаПослеЗапятой[ИндексМассива];
- МенеджерЗаписи.ОбъемЗакупки = МассивОбъёмЗакупкиДляЦены[ИндексМассива];
- МенеджерЗаписи.MOQ = ДБФ.MOQ;
- МенеджерЗаписи.SPQ = ДБФ.QNT_PACK;
- МенеджерЗаписи.Период = ТекущаяДата();
- МенеджерЗаписи.СрокПроизводства = "";
- МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ДБФ.QTY;
- МенеджерЗаписи.Записать();
- КонецЕсли
- КонецЦикла
- КонецЕсли
- Иначе
- КонецДокумента = Ложь;
- КонецЕсли;
- КонецЦикла;
- ДБФ.ЗакрытьФайл();
- УдалитьФайлы(АдресВременногоФайла, );
- КонецФункции
- Функция ЗапуститьФоновоеВыполнениеXLS(ДвоичныеДанныеФайла, РасширениеФайла) Экспорт
- КодВалюты = "978";
- Валюта_евро = Справочники.Валюты.НайтиПоКоду(КодВалюты);
- АдресВременногоФайла = КаталогВременныхФайлов();
- ТабличныйДокумент = Новый ТабличныйДокумент;
- ИмяФайла = ПолучитьИмяВременногоФайла(РасширениеФайла);
- ДвоичныеДанныеФайла.Записать(ИмяФайла);
- ТабличныйДокумент.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
- ВсегоСтрок = 1;
- Пока не Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(ВсегоСтрок, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст) = "" Цикл
- ВсегоСтрок = ВсегоСтрок + 1;
- КонецЦикла ;
- ВсегоСтрок = ВсегоСтрок - 1;
- Если Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(1, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст) = "article_matchcode" тогда
- Бит_ОсновнаяВалюта = Справочники.Партнеры.НайтиПоНаименованию("Rutronik Elektronische Bauelemente GmbH").Бит_ОсновнаяВалюта;
- Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-ЦБ001870");
- Для Сч = 2 по ВсегоСтрок Цикл
- НоменклатураАртикул = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
- Производитель = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 6).ТекущаяОбласть.Текст;
- ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
- Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
- ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
- Иначе
- МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
- МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
- МенеджерЗаписи.Поставщик = Поставщик;
- МенеджерЗаписи.Производитель =Справочники.Производители.НайтиПоНаименованию(Производитель);
- МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 9).ТекущаяОбласть.Текст;
- МенеджерЗаписи.MOQ = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 14).ТекущаяОбласть.Текст;
- МенеджерЗаписи.SPQ = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 13).ТекущаяОбласть.Текст;
- МенеджерЗаписи.ОбъемЗакупки = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 16).ТекущаяОбласть.Текст;
- МенеджерЗаписи.Цена= ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 15).ТекущаяОбласть.Текст;
- МенеджерЗаписи.Валюта = Бит_ОсновнаяВалюта;
- МенеджерЗаписи.Период = ТекущаяДата();
- МенеджерЗаписи.СрокПроизводства = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 10).ТекущаяОбласть.Текст;
- МенеджерЗаписи.Записать();
- КонецЕсли
- КонецЦикла;
- ИначеЕсли Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(1, "ЧГ=0") + "C" + 10).ТекущаяОбласть.Текст) = "commodity" тогда
- Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-00000123");
- Для Сч = 2 по ВсегоСтрок Цикл
- НоменклатураАртикул = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
- ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
- Производитель = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 7).ТекущаяОбласть.Текст;
- Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
- ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
- Иначе
- МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
- МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
- МенеджерЗаписи.Поставщик = Поставщик;
- МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
- МенеджерЗаписи.Производитель = Справочники.Производители.НайтиПоНаименованию(Производитель);
- МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 3).ТекущаяОбласть.Текст;
- МенеджерЗаписи.MOQ = "";
- МенеджерЗаписи.SPQ = "";
- МенеджерЗаписи.Период = ТекущаяДата();
- МенеджерЗаписи.Цена = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 5).ТекущаяОбласть.Текст;
- МенеджерЗаписи.Цена= ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 6).ТекущаяОбласть.Текст;
- МенеджерЗаписи.Валюта = Валюта_евро;
- МенеджерЗаписи.СрокПроизводства = "";
- МенеджерЗаписи.Записать();
- КонецЕсли
- КонецЦикла;
- ИначеЕсли Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(1, "ЧГ=0") + "C" + 10).ТекущаяОбласть.Текст) = "Stat" Тогда
- Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-00000902");
- Для Сч = 2 по ВсегоСтрок Цикл
- НоменклатураАртикул = Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст);
- ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
- Производитель = Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 6).ТекущаяОбласть.Текст);
- Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
- ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
- Иначе
- МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
- МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
- МенеджерЗаписи.Поставщик = Поставщик;
- МенеджерЗаписи.Производитель = Справочники.Производители.НайтиПоНаименованию(Производитель);
- МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 4).ТекущаяОбласть.Текст;
- МенеджерЗаписи.MOQ = "";
- МенеджерЗаписи.SPQ = "";
- МенеджерЗаписи.Период = ТекущаяДата();
- Если ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 5).ТекущаяОбласть.Текст <> "" Тогда
- МенеджерЗаписи.ОбъемЗакупки = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 5).ТекущаяОбласть.Текст;
- КонецЕсли;
- МенеджерЗаписи.Цена= ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 7).ТекущаяОбласть.Текст;
- МенеджерЗаписи.Валюта = Валюта_евро;
- МенеджерЗаписи.СрокПроизводства = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 3).ТекущаяОбласть.Текст;
- МенеджерЗаписи.Записать();
- КонецЕсли
- КонецЦикла;
- Иначе
- ВызватьИсключение("Что - то пошло не так.");
- КонецЕсли
- КонецФункции
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement