Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.53 KB | None | 0 0
  1. Функция ЗапуститьФоновоеВыполнениеDbf(ДвоичныеДанныеФайла) Экспорт
  2. АдресВременногоФайла = КаталогВременныхФайлов();
  3. АдресВременногоФайла = АдресВременногоФайла + "fileDBF.dbf";
  4. УдалитьФайлы(АдресВременногоФайла, );
  5. ДвоичныеДанныеФайла.Записать(АдресВременногоФайла);
  6. ДБФ = Новый XBase;
  7. ДБФ.ОткрытьФайл(АдресВременногоФайла); //Открытие файла                      
  8. КонецДокумента = Истина;
  9. Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-00003813");
  10. Валюта = Поставщик.Бит_ОсновнаяВалюта;
  11.  
  12. Пока ДБФ.Следующая() Цикл
  13. Если НЕ (ДБФ.NAME)= "" И НЕ (ДБФ.CODE)= "" Тогда
  14. НоменклатураАртикул = ДБФ.NAME;
  15.  
  16. ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
  17. Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
  18. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
  19. Иначе
  20. МассивОбъёмЗакупкиДляЦены = Новый Массив(6);
  21. МассивЦена4ЗнакаПослеЗапятой = Новый Массив(6);
  22. МассивОбъёмЗакупкиДляЦены[0] = ДБФ.QTY_1;
  23. МассивОбъёмЗакупкиДляЦены[1] = ДБФ.QTY_2;
  24. МассивОбъёмЗакупкиДляЦены[2] = ДБФ.QTY_3;
  25. МассивОбъёмЗакупкиДляЦены[3] = ДБФ.QTY_4;
  26. МассивОбъёмЗакупкиДляЦены[4] = ДБФ.QTY_5;
  27. МассивОбъёмЗакупкиДляЦены[5] = ДБФ.QTY_6;
  28. //Получаем 6 цен
  29. МассивЦена4ЗнакаПослеЗапятой[0] = ДБФ.PRICE_1;
  30. МассивЦена4ЗнакаПослеЗапятой[1] = ДБФ.PRICE_2;
  31. МассивЦена4ЗнакаПослеЗапятой[2] = ДБФ.PRICE_3;
  32. МассивЦена4ЗнакаПослеЗапятой[3] = ДБФ.PRICE_4;
  33. МассивЦена4ЗнакаПослеЗапятой[4] = ДБФ.PRICE_5;
  34. МассивЦена4ЗнакаПослеЗапятой[5] = ДБФ.PRICE_6;
  35.  
  36. Для ИндексМассива = 0 по 5 Цикл
  37. Если Не МассивЦена4ЗнакаПослеЗапятой[ИндексМассива] = 0 Тогда
  38. МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
  39. МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
  40. МенеджерЗаписи.Поставщик = Поставщик;
  41. МенеджерЗаписи.Валюта = Валюта;
  42. МенеджерЗаписи.Производитель = Справочники.Производители.НайтиПоНаименованию(ДБФ.PRODUCER);
  43. МенеджерЗаписи.Цена = МассивЦена4ЗнакаПослеЗапятой[ИндексМассива];
  44. МенеджерЗаписи.ОбъемЗакупки = МассивОбъёмЗакупкиДляЦены[ИндексМассива];
  45. МенеджерЗаписи.MOQ = ДБФ.MOQ;
  46. МенеджерЗаписи.SPQ = ДБФ.QNT_PACK;
  47. МенеджерЗаписи.Период = ТекущаяДата();
  48. МенеджерЗаписи.СрокПроизводства = "";
  49. МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ДБФ.QTY;
  50. МенеджерЗаписи.Записать();
  51. КонецЕсли
  52. КонецЦикла
  53. КонецЕсли
  54. Иначе
  55. КонецДокумента = Ложь;
  56. КонецЕсли;
  57. КонецЦикла;
  58. ДБФ.ЗакрытьФайл();
  59. УдалитьФайлы(АдресВременногоФайла, );
  60. КонецФункции
  61.  
  62.  
  63. Функция ЗапуститьФоновоеВыполнениеXLS(ДвоичныеДанныеФайла, РасширениеФайла) Экспорт
  64. КодВалюты = "978";
  65. Валюта_евро = Справочники.Валюты.НайтиПоКоду(КодВалюты);
  66. АдресВременногоФайла = КаталогВременныхФайлов();
  67. ТабличныйДокумент = Новый ТабличныйДокумент;
  68. ИмяФайла = ПолучитьИмяВременногоФайла(РасширениеФайла);
  69. ДвоичныеДанныеФайла.Записать(ИмяФайла);
  70. ТабличныйДокумент.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
  71. ВсегоСтрок = 1;
  72. Пока не Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(ВсегоСтрок, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст) = "" Цикл
  73. ВсегоСтрок = ВсегоСтрок + 1;
  74. КонецЦикла ;
  75. ВсегоСтрок = ВсегоСтрок - 1;
  76.  
  77. Если Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(1, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст) = "article_matchcode" тогда
  78. Бит_ОсновнаяВалюта = Справочники.Партнеры.НайтиПоНаименованию("Rutronik Elektronische Bauelemente GmbH").Бит_ОсновнаяВалюта;
  79. Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-ЦБ001870");
  80.  
  81. Для Сч = 2 по ВсегоСтрок Цикл
  82. НоменклатураАртикул = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
  83. Производитель = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 6).ТекущаяОбласть.Текст;
  84. ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
  85. Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
  86. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
  87. Иначе
  88. МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
  89. МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
  90. МенеджерЗаписи.Поставщик = Поставщик;
  91. МенеджерЗаписи.Производитель =Справочники.Производители.НайтиПоНаименованию(Производитель);
  92. МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 9).ТекущаяОбласть.Текст;
  93. МенеджерЗаписи.MOQ = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 14).ТекущаяОбласть.Текст;
  94. МенеджерЗаписи.SPQ = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 13).ТекущаяОбласть.Текст;
  95. МенеджерЗаписи.ОбъемЗакупки = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 16).ТекущаяОбласть.Текст;
  96. МенеджерЗаписи.Цена= ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 15).ТекущаяОбласть.Текст;
  97. МенеджерЗаписи.Валюта = Бит_ОсновнаяВалюта;
  98. МенеджерЗаписи.Период = ТекущаяДата();
  99. МенеджерЗаписи.СрокПроизводства = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 10).ТекущаяОбласть.Текст;
  100. МенеджерЗаписи.Записать();
  101. КонецЕсли
  102. КонецЦикла;
  103.  
  104. ИначеЕсли Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(1, "ЧГ=0") + "C" + 10).ТекущаяОбласть.Текст) = "commodity" тогда
  105. Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-00000123");
  106. Для Сч = 2 по ВсегоСтрок Цикл
  107. НоменклатураАртикул = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
  108. ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
  109. Производитель = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 7).ТекущаяОбласть.Текст;
  110. Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
  111. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
  112. Иначе
  113. МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
  114. МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
  115. МенеджерЗаписи.Поставщик = Поставщик;
  116. МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
  117. МенеджерЗаписи.Производитель = Справочники.Производители.НайтиПоНаименованию(Производитель);
  118. МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 3).ТекущаяОбласть.Текст;
  119. МенеджерЗаписи.MOQ = "";
  120. МенеджерЗаписи.SPQ = "";
  121. МенеджерЗаписи.Период = ТекущаяДата();
  122. МенеджерЗаписи.Цена = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 5).ТекущаяОбласть.Текст;
  123. МенеджерЗаписи.Цена= ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 6).ТекущаяОбласть.Текст;
  124. МенеджерЗаписи.Валюта = Валюта_евро;
  125. МенеджерЗаписи.СрокПроизводства = "";
  126. МенеджерЗаписи.Записать();
  127. КонецЕсли
  128. КонецЦикла;
  129.  
  130. ИначеЕсли Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(1, "ЧГ=0") + "C" + 10).ТекущаяОбласть.Текст) = "Stat" Тогда
  131. Поставщик = Справочники.Партнеры.НайтиПоКоду("ЦБ-00000902");
  132.  
  133. Для Сч = 2 по ВсегоСтрок Цикл
  134. НоменклатураАртикул = Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст);
  135. ДублирующаясяНоменкалутура = Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураАртикул);
  136. Производитель = Строка(ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 6).ТекущаяОбласть.Текст);
  137. Если ДублирующаясяНоменкалутура.Наименование = "" Тогда
  138. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Номенклатура " + НоменклатураАртикул + " отстутвствует в справочнике <Номенклатура>")
  139. Иначе
  140. МенеджерЗаписи = РегистрыСведений.БИТ_ЦеныСтоков.СоздатьМенеджерЗаписи();
  141. МенеджерЗаписи.Номенклатура = ДублирующаясяНоменкалутура;
  142. МенеджерЗаписи.Поставщик = Поставщик;
  143. МенеджерЗаписи.Производитель = Справочники.Производители.НайтиПоНаименованию(Производитель);
  144. МенеджерЗаписи.КоличествоДоступноеДляЗаказа = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 4).ТекущаяОбласть.Текст;
  145. МенеджерЗаписи.MOQ = "";
  146. МенеджерЗаписи.SPQ = "";
  147. МенеджерЗаписи.Период = ТекущаяДата();
  148. Если ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 5).ТекущаяОбласть.Текст <> "" Тогда
  149. МенеджерЗаписи.ОбъемЗакупки = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 5).ТекущаяОбласть.Текст;
  150. КонецЕсли;
  151.  
  152. МенеджерЗаписи.Цена= ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 7).ТекущаяОбласть.Текст;
  153. МенеджерЗаписи.Валюта = Валюта_евро;
  154. МенеджерЗаписи.СрокПроизводства = ТабличныйДокумент.ПолучитьОбласть("R" + Формат(Сч, "ЧГ=0") + "C" + 3).ТекущаяОбласть.Текст;
  155. МенеджерЗаписи.Записать();
  156. КонецЕсли
  157. КонецЦикла;
  158. Иначе
  159. ВызватьИсключение("Что - то пошло не так.");
  160. КонецЕсли
  161.  
  162.  
  163. КонецФункции
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement