![]() |
![]() |
![]() |
|
v7: Внести изменения в обработку | ☑ | ||
---|---|---|---|---|
0
Victor80
01.10.14
✎
12:54
|
помогите изменить обработку для выгрузки документов в другую базу. надо дописать, чтобы приходные и расходные накл. записывались после переноса на определённое время
Перем Ole; //-------------------------------------------------------------------------------------------------- Процедура ПоказатьТаблЗнач(ВыбТаблЗнач) Сообщить("======================Начало======================="); Для А = 1 по ВыбТаблЗнач.КоличествоСтрок() Цикл Значение = ""; Для Ф = 1 по ВыбТаблЗнач.КоличествоКолонок() Цикл Значение = Значение + " | " + ВыбТаблЗнач.ПолучитьЗначение(А,Ф); КонецЦикла; Сообщить(""+Значение); КонецЦикла; Сообщить("======================Конец========================"); КонецПроцедуры //-------------------------------------------------------------------------------------------------- Процедура ВыборКаталога(ИмяФайла) Если ФС.ВыбратьКаталог(ИмяФайла, "Выберите каталог БД источника",) = 1 Тогда ФормКаталогИБИсточника = СокрЛП(ИмяФайла) + "\"; КонецЕсли; КонецПроцедуры // ВыборКаталога() //------------------------------------------------------------------------------------------------ Процедура ПриНачалеВыбораЗначения(ИдЭлементаДиалога, Фл) Если ИдЭлементаДиалога = "ФормКаталогИБИсточника" Тогда ВыборКаталога(ФормКаталогИБИсточника); КонецЕсли; КонецПроцедуры // ПриНачалеВыбораЗначения() //-------------------------------------------------------------------------------------------------- Процедура ЗаполнитьТаблицу() Если ТаблицаДокументов.КоличествоСтрок() > 0 Тогда Если Вопрос("Перед заполнением таблица будет очищена, |а существующие строки удалены. Продолжить?","ОК+Отмена") = "ОК" Тогда ТаблицаДокументов.УдалитьСтроки(); Иначе Возврат; КонецЕсли; КонецЕсли; Состояние("Заполняем таблицу с документами.................."); Doc = Ole.CreateObject("Документ");//.РасходнаяНакладная"); // Doc.УстановитьФильтр(1,0); // только проведенные Doc.ВыбратьДокументы(НачДата, КонДата); Пока Doc.ПолучитьДокумент() = 1 Цикл Если (Doc.Вид()<>"РасходнаяНакладная")И(Doc.Вид()<>"ПриходнаяНакладная") Тогда Продолжить; КонецЕсли; ТаблицаДокументов.НоваяСтрока(); ТаблицаДокументов.Пометка = 1; ТаблицаДокументов.ДокВид = Doc.Вид(); ТаблицаДокументов.ДокДата = Doc.ДатаДок; ТаблицаДокументов.ДокНомер = Doc.НомерДок; ТаблицаДокументов.Инфо = СокрЛП(Doc.Клиент.Наименование)+" (Сумма=" + глФРМ(Doc.Итог("Сумма"), Doc.Валюта, 1)+")"; КонецЦикла; КонецПроцедуры // ЗаполнитьТаблицу() //-------------------------------------------------------------------------------------------------- Процедура Подключить() ФС.УстТекКаталог(КаталогПрограммы()); ИмяЭкзешника=ФС.НайтиПервыйФайл("1cv7*.exe"); ПоследнийСимвол = Сред(ИмяЭкзешника,5,1); ПоследнийСимвол = ?(ПоследнийСимвол=".","",ПоследнийСимвол); // Инициализируем ИБ-приемник Состояние("Открытие базы данных - источника............"); Ole = CreateObject("V77"+ПоследнийСимвол+".Application"); //Если ИБ.Initialize(ИБ.RMTrade, "/d"+КаталогИБприемника, "No_splash_show") = 0 тогда Если Ole.Initialize(Ole.RMTrade,"/d"+ФормКаталогИБИсточника+" /N","No_splash_show") = 0 тогда Предупреждение("Ошибка открытия информационной базы!",30); Возврат; КонецЕсли; ЗаполнитьТаблицу(); КонецПроцедуры // Подключить() //-------------------------------------------------------------------------------------------------- // ГрупповаяПометка(Режим) // // Параметры: // Режим: // 1 - пометить все // 2 - снять пометку // 3 - инвертировать пометку // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога // кнопки групповой пометки // // Описание: // Производит групповые действия с пометкой строк таблицы формы // Процедура ГрупповаяПометка(Режим) Для А=1 По ТаблицаДокументов.КоличествоСтрок() Цикл Если Режим=1 Тогда ТаблицаДокументов.УстановитьЗначение(А,"Пометка",3); ИначеЕсли Режим=2 Тогда ТаблицаДокументов.УстановитьЗначение(А,"Пометка",1); Иначе ТекПометка = ТаблицаДокументов.ПолучитьЗначение(А,"Пометка"); ТаблицаДокументов.УстановитьЗначение(А,"Пометка",?(ТекПометка=1,3,1)); КонецЕсли; КонецЦикла; КонецПроцедуры // ГрупповаяПометка() //-------------------------------------------------------------------------------------------------- Процедура ОбработкаТаблицы(Табл) ТекСтрока = Табл.ТекущаяСтрока(); ТекКолонка= Табл.ТекущаяКолонка(); Если ТекСтрока = 0 Тогда Возврат; КонецЕсли; Если ТекКолонка = "" Тогда КонецЕсли; ТекПометка = ТаблицаДокументов.ПолучитьЗначение(ТекСтрока,"Пометка"); ТаблицаДокументов.УстановитьЗначение(ТекСтрока,"Пометка",?(ТекПометка=1,3,1)); КонецПроцедуры // ОбработкаТаблицы() //-------------------------------------------------------------------------------------------------- Функция ПроверитьДокумент(Док) Если Док.ПометкаУдаления() = 1 Тогда Попытка Док.СнятьПометкуУдаления(); Исключение Сообщить("Невозможно снять пометку удаления у документа "+Док.ТекущийДокумент()+" потому, что "+ОписаниеОшибки(),"!"); Возврат 0; КонецПопытки; КонецЕсли; Если Док.Проведен() = 1 Тогда Попытка Док.СделатьНеПроведенным(); Исключение Сообщить("Невозможно сделать непроведенным документ "+Док.ТекущийДокумент()+" потому, что "+ОписаниеОшибки(),"!"); Возврат 0; КонецПопытки; КонецЕсли; Возврат 1; КонецФункции // ПроверитьДокумент() //-------------------------------------------------------------------------------------------------- // ПолучитьВремяДокументаЧислом(Док) // // Параметры: // Док - документ, чьё время надо получить // // Возвращаемое значение: // Нет // // Описание: // Преобразует время документа в число. // Функция ПолучитьВремяДокументаЧислом(Док) Время = Док.ПолучитьВремя(); Ч = Лев(Время,2); М = Сред(Время,4,2); С = Прав(Время,2); Возврат 3600*Ч+60*М+С; КонецФункции // ПолучитьВремяДокументаЧислом() //-------------------------------------------------------------------------------------------------- // УстановитьВремяДокументаЧислом(Док, Сек) // // Параметры: // Док - документ, чьё время надо установить // Сек - число, новое время документа в секундах (с начала дня) // // Возвращаемое значение: // Нет // // Описание: // Устанавливает новое время документа. // Процедура УстановитьВремяДокументаЧислом(Док, Сек) Перем Ч,М,С; Ч=Цел(Сек/3600); Сек=Сек-Ч*3600; М=Цел(Сек/60); С=Сек-М*60; Док.УстановитьВремя(Ч,М,С); КонецПроцедуры // УстановитьВремяДокументаЧислом() //-------------------------------------------------------------------------------------------------- Процедура ЗаписатьДокумент(Док,Провести,Открыть,ВремяЗаписи) Перем Ч,М,С; Попытка Если ВремяЗаписи = "НачалоДня" Тогда Док.АвтоВремяНачалоДня(); ИначеЕсли ВремяЗаписи = "КонецДня" Тогда Док.АвтоВремяКонецДня(); ИначеЕсли ВремяЗаписи = "Отключить" Тогда Док.АвтоВремяОтключить(); ИначеЕсли ВремяЗаписи = "Текущее" Тогда Док.АвтоВремяТекущее(); ИначеЕсли ТипЗначенияСтр(ВремяЗаписи) = "OLE" Тогда Время = ПолучитьВремяДокументаЧислом(ВремяЗаписи); УстановитьВремяДокументаЧислом(Док,Время); КонецЕсли; Док.Записать(); Если ВыбКомментировать = 1 Тогда Сообщить("Записан документ "+Док.ТекущийДокумент()); КонецЕсли; Пометка = 2; Исключение Сообщить("Невозможно записать документ "+Док.ТекущийДокумент()+" потому, что "+ОписаниеОшибки(),"!"); Возврат; КонецПопытки; Если Провести = 1 Тогда Попытка Док.Провести(); Если Док.Проведен() = 1 Тогда Если ВыбКомментировать = 1 Тогда Сообщить("Проведен документ "+Док.ТекущийДокумент()); КонецЕсли; Пометка = 3; КонецЕсли; Исключение Сообщить("Невозможно провести документ "+Док.ТекущийДокумент()+" потому, что "+ОписаниеОшибки(),"!"); Возврат; КонецПопытки; КонецЕсли; Если Открыть = 1 Тогда ОткрытьФорму(Док.ТекущийДокумент(),,-1); КонецЕсли; КонецПроцедуры // ЗаписатьДокумент() //-------------------------------------------------------------------------------------------------- Процедура ЗаписатьСправочник(Спр) Попытка Спр.Записать(); Если ВыбКомментировать = 1 Тогда Если Спр.ЭтоГруппа() = 1 Тогда Сообщить("Записана группа справочника """+Спр.Вид()+""" "+Спр.ТекущийЭлемент()); Иначе Сообщить("Записан элемент справочника """+Спр.Вид()+""" "+Спр.ТекущийЭлемент()); КонецЕсли; КонецЕсли; Исключение Если Спр.ЭтоГруппа() = 1 Тогда Сообщить("Невозможно записать группу справочника """+Спр.Вид()+""" "+Спр.ТекущийЭлемент()+" потому, что "+ОписаниеОшибки(),"!"); Иначе Сообщить("Невозможно записать элемент справочника """+Спр.Вид()+""" "+Спр.ТекущийЭлемент()+" потому, что "+ОписаниеОшибки(),"!"); КонецЕсли; Возврат; КонецПопытки; КонецПроцедуры // ЗаписатьСправочник() //-------------------------------------------------------------------------------------------------- Функция ПолучитьЭлемент(ЧтоИскать, ГдеИскать, КакИскать, НовыйЭлемент, ВыбOle="") ЧтоИскатьКод = ?(ТипЗначенияСтр(ЧтоИскать)="Справочник",ЧтоИскать.Код, ЧтоИскать); ЧтоИскатьНаименование = ?(ТипЗначенияСтр(ЧтоИскать)="Справочник",ЧтоИскать.Наименование, ЧтоИскать); Spr = ?(ВыбOle="Ole",Ole.CreateObject("Справочник."+ГдеИскать),СоздатьОбъект("Справочник."+ГдеИскать)); Если КакИскать = "Код" Тогда НашлиЭлемент = Spr.НайтиПоКоду(ЧтоИскатьКод); Иначе НашлиЭлемент = Spr.НайтиПоНаименованию(ЧтоИскатьНаименование, 0); КонецЕсли; Если НашлиЭлемент = 0 Тогда Сообщить("В справочнике """+ГдеИскать+""" элемент "+?(КакИскать="Код","с кодом "," с наименованием ")+""""+ЧтоИскать+""" не найден!","!"); Если НовыйЭлемент = 1 Тогда Spr.Новый(); Spr.Код = ЧтоИскатьКод; Spr.Наименование= ЧтоИскатьНаименование; Spr.Записать(); Сообщить("Записан новый элемент """+Spr.ТекущийЭлемент()); КонецЕсли; КонецЕсли; Возврат Spr.ТекущийЭлемент(); КонецФункции // ПолучитьЭлемент() //****************************************************************************** Процедура СоздатьДокументРасходнаяНакладная(Doc) Док = СоздатьОбъект("Документ."+Doc.Вид()); Если Док.НайтиПоНомеру(Doc.НомерДок, Doc.ДатаДок, Doc.Вид()) = 0 Тогда Док.Новый(); Док.НомерДок = Doc.НомерДок; Док.ДатаДок = Doc.ДатаДок; КонецЕсли; Если ПроверитьДокумент(Док) = 0 Тогда Сообщить("Не загружен документ "+Doc.Вид()+" №"+Doc.НомерДок+" от "+Doc.ДатаДок,"!!!"); Возврат; КонецЕсли; Док.Валюта = ПолучитьЭлемент("810", "Валюты", "Код", 0); Док.Глубина = Doc.Глубина; Док.Дата_курса = Doc.Дата_курса; Док.ДатаОплаты = Doc.ДатаОплаты; Док.Клиент = ПолучитьЭлемент(Doc.Клиент.Код, "Контрагенты", "Код", 0); Док.Договор = Док.Клиент.ОсновнойДоговорТорг; Док.ДокументОснование = ""; Док.ЗапретитьСторнироватьУчетНП = Doc.ЗапретитьСторнироватьУчетНП; Док.ЗачитыватьОплатуПоСлужДоговору = Doc.ЗачитыватьОплатуПоСлужДоговору; Док.КатегорияЦен = ПолучитьЭлемент(Doc.КатегорияЦен.Код, "КатегорииЦен", "Код", 0); Док.Курс = Doc.Курс; Док.ПризнакНакладной = Перечисление.ПризнРасхНакл.ЗначениеПоИдентификатору(Doc.ПризнакНакладной.Идентификатор()); Док.РежимПроведения = Doc.РежимПроведения; Док.Склад = ПолучитьЭлемент(Doc.Склад.Наименование, "МестаХранения","Наименование", 0); Док.ТипЦен = Перечисление.ТипыРасхЦен.ЗначениеПоИдентификатору(Doc.ТипЦен.Идентификатор()); Док.УчитыватьНП = Doc.УчитыватьНП; Док.СуммаВключаетНП = Doc.СуммаВключаетНП; Док.НеУчитыватьНДС = Doc.НеУчитыватьНДС; Док.ПроцентСкидки = Doc.ПроцентСкидки; Док.Фирма = ПолучитьЭлемент(Doc.Фирма.Наименование, "Фирмы", "Наименование", 0); Док.Автор = глПользователь; Док.Основание = ""; Док.ТипУчета = Doc.ТипУчета; Док.ФинУчет = Doc.ФинУчет; Док.Комментарий = Doc.Комментарий; // очистим таблицу документа перед заполнением Док.УдалитьСтроки(); Если ЦеновыеГруппы = 1 Тогда ТаблЗнач = СоздатьОбъект("ТаблицаЗначений"); ТаблЗнач.НоваяКолонка("Цена"); ТаблЗнач.НоваяКолонка("ЦенаБезСкидки"); ТаблЗнач.НоваяКолонка("Количество"); ТаблЗнач.НоваяКолонка("Сумма"); Doc.ВыбратьСтроки(); Пока Doc.ПолучитьСтроку() > 0 Цикл ТаблЗнач.НоваяСтрока(); ТаблЗнач.Цена = Doc.Цена; ТаблЗнач.ЦенаБезСкидки = Doc.ЦенаБезСкидки; ТаблЗнач.Количество = Doc.Количество; ТаблЗнач.Сумма = Doc.Сумма; КонецЦикла; ТаблЗнач.Свернуть("Цена,ЦенаБезСкидки","Количество, Сумма"); ТаблЗнач.ВыбратьСтроки(); Пока ТаблЗнач.ПолучитьСтроку() > 0 Цикл НаимНоменклатуры = ПолучитьЭлемент(ТаблЗнач.ЦенаБезСкидки, "ЦеновыеГруппы", "Код", 0, "Ole"); Док.НоваяСтрока(); Док.Товар = ПолучитьЭлемент(НаимНоменклатуры.Наименование, "Номенклатура", "Наименование", 0); // найдем единицу измерения в подчиненном справочнике Спр = СоздатьОбъект("Справочник.Единицы"); Спр.ИспользоватьВладельца(Док.Товар); Если Спр.НайтиПоРеквизиту("ТипЕдиницы",Док.Товар.БазоваяЕдиница,0) = 0 Тогда Сообщить("Не найдена единица измерения у товара """+Док.Товар+""" установите её вручную.","!"); КонецЕсли; Док.Единица = Спр.ТекущийЭлемент(); Док.Количество = ТаблЗнач.Количество; Док.Цена = ТаблЗнач.Цена; Док.ЦенаБезСкидки = ТаблЗнач.ЦенаБезСкидки; Док.Коэффициент = 1; Док.Сумма = ТаблЗнач.Сумма;//Док.Количество * Док.Цена; //Док.СтавкаНДС = ; //Док.НДС = ; //Док.Набор = ; //Док.СтавкаНП = ; //Док.СуммаНП = ; КонецЦикла; Иначе Doc.ВыбратьСтроки(); Пока Doc.ПолучитьСтроку() > 0 Цикл Док.НоваяСтрока(); Док.Товар = ПолучитьЭлемент(Doc.Товар.Наименование, "Номенклатура", "Наименование", 0); // найдем единицу измерения в подчиненном справочнике Спр = СоздатьОбъект("Справочник.Единицы"); Спр.ИспользоватьВладельца(Док.Товар); Если Спр.НайтиПоРеквизиту("ТипЕдиницы",Док.Товар.БазоваяЕдиница,0) = 0 Тогда Сообщить("Не найдена единица измерения у товара """+Док.Товар+""" установите её вручную.","!"); КонецЕсли; Док.Единица = Спр.ТекущийЭлемент(); Док.Количество = Doc.Количество; Док.Цена = Doc.Цена; Док.Коэффициент = Doc.Коэффициент; Док.Сумма = Doc.Сумма; Док.СтавкаНДС = Перечисление.ЗначенияНДС.ЗначениеПоИдентификатору(Doc.СтавкаНДС.Идентификатор()); Док.НДС = Doc.НДС; Док.Набор = ""; Док.СтавкаНП = ПолучитьЭлемент(Doc.СтавкаНП.Код, "СтавкиНП", "Код", 0); Док.СуммаНП = Doc.СуммаНП; Док.ЦенаБезСкидки = Doc.ЦенаБезСкидки; КонецЦикла; КонецЕсли; ЗаписатьДокумент(Док,0,ОткрыватьДокументы,Doc); КонецПроцедуры // СоздатьДокументРасходнаяНакладная() //-------------------------------------------------------------------------------------------------- Процедура СоздатьДокументПриходнаяНакладная(Doc) Док = СоздатьОбъект("Документ."+Doc.Вид()); Если Док.НайтиПоНомеру(Doc.НомерДок, Doc.ДатаДок, Doc.Вид()) = 0 Тогда Док.Новый(); Док.НомерДок = Doc.НомерДок; Док.ДатаДок = Doc.ДатаДок; КонецЕсли; Если ПроверитьДокумент(Док) = 0 Тогда Сообщить("Не загружен документ "+Doc.Вид()+" №"+Doc.НомерДок+" от "+Doc.ДатаДок,"!!!"); Возврат; КонецЕсли; Док.Глубина = Doc.Глубина; Док.Дата_курса = Doc.Дата_курса; Док.ДатаОплаты = Doc.ДатаОплаты; Док.Курс = Doc.Курс; Док.ПризнакНакладной = Перечисление.ПризнПрихНакл.ЗначениеПоИдентификатору(Doc.ПризнакНакладной.Идентификатор()); Док.Валюта = ПолучитьЭлемент("810", "Валюты", "Код", 0); Док.КатегорияЦен = ПолучитьЭлемент(Doc.КатегорияЦен.Код, "КатегорииЦен", "Код", 0); Док.Склад = ПолучитьЭлемент(Doc.Склад.Наименование, "МестаХранения", "Наименование", 0); Док.Фирма = ПолучитьЭлемент(Doc.Фирма.Наименование, "Фирмы", "Наименование", 0); Док.ВариантРасчетаНалогов=ПолучитьЭлемент(Doc.ВариантРасчетаНалогов.Код,"ВариантыРасчетаНалогов","Код", 0); Док.Клиент = ПолучитьЭлемент(Doc.Клиент.Код, "Контрагенты", "Код", 0); Док.Договор = Док.Клиент.ОсновнойДоговорТорг; Док.Автор = глПользователь; Док.ТипУчета = Doc.ТипУчета; Док.ФинУчет = Doc.ФинУчет; Док.Комментарий = Doc.Комментарий; Док.ДокументОснование = ""; Док.ЗачитыватьОплатуПоСлужДоговору = Doc.ЗачитыватьОплатуПоСлужДоговору; // очистим таблицу документа перед заполнением Док.УдалитьСтроки(); Если ЦеновыеГруппы = 1 Тогда ТаблЗнач = СоздатьОбъект("ТаблицаЗначений"); ТаблЗнач.НоваяКолонка("Цена"); ТаблЗнач.НоваяКолонка("Количество"); ТаблЗнач.НоваяКолонка("Сумма"); Doc.ВыбратьСтроки(); Пока Doc.ПолучитьСтроку() > 0 Цикл ТаблЗнач.НоваяСтрока(); ТаблЗнач.Цена = Doc.Цена; ТаблЗнач.Количество = Doc.Количество; ТаблЗнач.Сумма = Doc.Сумма; КонецЦикла; ТаблЗнач.Свернуть("Цена","Количество, Сумма"); ТаблЗнач.ВыбратьСтроки(); Пока ТаблЗнач.ПолучитьСтроку() > 0 Цикл НаимНоменклатуры = ПолучитьЭлемент(ТаблЗнач.Цена, "ЦеновыеГруппы", "Код", 0, "Ole"); Док.НоваяСтрока(); Док.Товар = ПолучитьЭлемент(НаимНоменклатуры.Наименование, "Номенклатура", "Наименование", 0); // найдем единицу измерения в подчиненном справочнике Спр = СоздатьОбъект("Справочник.Единицы"); Спр.ИспользоватьВладельца(Док.Товар); Если Спр.НайтиПоРеквизиту("ТипЕдиницы",Док.Товар.БазоваяЕдиница,0) = 0 Тогда Сообщить("Не найдена единица измерения у товара """+Док.Товар+""" установите её вручную.","!"); КонецЕсли; Док.Единица = Спр.ТекущийЭлемент(); Док.Коэффициент = 1; Док.Количество = ТаблЗнач.Количество; Док.Цена = ТаблЗнач.Цена; Док.Сумма = ТаблЗнач.Сумма;//Док.Количество * Док.Цена; Док.Всего = глПоказательПриходногоДокумента(Док, "СуммаСНалогами"); //Док.СтавкаНДС = ; //Док.НДС = ; //Док.СтавкаНП = ; //Док.СуммаНП = ; КонецЦикла; Иначе Doc.ВыбратьСтроки(); Пока Doc.ПолучитьСтроку() > 0 Цикл Док.НоваяСтрока(); Док.Товар = ПолучитьЭлемент(Doc.Товар.Наименование, "Номенклатура", "Наименование", 0); // найдем единицу измерения в подчиненном справочнике Спр = СоздатьОбъект("Справочник.Единицы"); Спр.ИспользоватьВладельца(Док.Товар); Если Спр.НайтиПоРеквизиту("ТипЕдиницы",Док.Товар.БазоваяЕдиница,0) = 0 Тогда Сообщить("Не найдена единица измерения у товара """+Док.Товар+""" установите её вручную.","!"); КонецЕсли; Док.Единица = Спр.ТекущийЭлемент(); Док.Коэффициент = Doc.Коэффициент; Док.Количество = Doc.Количество; Док.Цена = Doc.Цена; Док.Сумма = Doc.Сумма; Док.СтавкаНДС = Перечисление.ЗначенияНДС.ЗначениеПоИдентификатору(Doc.СтавкаНДС.Идентификатор()); Док.НДС = Doc.НДС; Док.СтавкаНП = ПолучитьЭлемент(Doc.СтавкаНП.Код, "СтавкиНП", "Код", 0); Док.СуммаНП = Doc.СуммаНП; Док.Всего = Doc.Всего; КонецЦикла; КонецЕсли; ЗаписатьДокумент(Док,0,ОткрыватьДокументы,Doc); КонецПроцедуры // СоздатьДокументПриходнаяНакладная() //-------------------------------------------------------------------------------------------------- Процедура Синхронизировать() Если ВыбКомментировать = 1 Тогда Сообщить("Начало загрузки: "+Формат(ТекущаяДата(),"Д ДДММММГГГГ")+" в "+ТекущееВремя()); КонецЕсли; Doc = Ole.CreateObject("Документ"); ТаблицаДокументов.ВыбратьСтроки(); Пока ТаблицаДокументов.ПолучитьСтроку() = 1 Цикл Если ТаблицаДокументов.Пометка <> 3 Тогда Продолжить; КонецЕсли; Если Doc.НайтиПоНомеру(ТаблицаДокументов.ДокНомер,ТаблицаДокументов.ДокДата,ТаблицаДокументов.ДокВид) = 0 Тогда Продолжить; КонецЕсли; Если Doc.Вид() = "РасходнаяНакладная" Тогда СоздатьДокументРасходнаяНакладная(Doc); ИначеЕсли Doc.Вид() = "ПриходнаяНакладная" Тогда СоздатьДокументПриходнаяНакладная(Doc); Иначе КонецЕсли; КонецЦикла; Если ВыбКомментировать = 1 Тогда Сообщить("Конец загрузки: "+Формат(ТекущаяДата(),"Д ДДММММГГГГ")+" в "+ТекущееВремя()); КонецЕсли; КонецПроцедуры // Синхронизировать() //-------------------------------------------------------------------------------------------------- НачДата = РабочаяДата(); КонДата = РабочаяДата(); ТаблицаДокументов.НоваяКолонка("Пометка",,,,"",1); ТаблицаДокументов.НоваяКолонка("ДокВид", |
|||
1
Chum
01.10.14
✎
12:56
|
(0) Думаешь, что кто-то станет разбирать твои сотни строк?
|
|||
2
Wobland
01.10.14
✎
12:57
|
- Джек! Что ты можешь сделать за деньги?
- За деньги... я могу сделать... всё! © |
|||
3
salvator
01.10.14
✎
12:57
|
(1) +100, тем более по 7.7
|
|||
4
Рэйв
01.10.14
✎
13:00
|
УстановитьВремя(<?>,,);
Синтаксис: УстановитьВремя(<Часы>,<Минуты>,<Секунды>) Назначение: Установить время документа. Параметры: <Часы> - число часов; <Минуты> - число минут; <Секунды> - число секунд. Замечание: Метод можно использовать только для объектов, созданных функцией СоздатьОбъект. |
|||
5
Рэйв
01.10.14
✎
13:00
|
скоро СП по 7.7 будет дороже чем по 8.х.
Раритет однако. |
|||
6
Галахад
гуру
01.10.14
✎
13:01
|
(4) Не нуно. Там в тексте все есть.
|
|||
7
Злопчинский
01.10.14
✎
13:03
|
1. лениво.
2. неинтересно. 3. но если денег много... |
|||
8
Рэйв
01.10.14
✎
13:04
|
(6)Кто б его еще читал:-)
|
|||
9
Victor80
01.10.14
✎
13:05
|
цена?
|
|||
10
Злопчинский
01.10.14
✎
13:11
|
так что не работает-то?
|
|||
11
Victor80
01.10.14
✎
13:12
|
сейчас при переносе он от балды ставит любое время, нужно чтобы приходные переносились с временем 8 утра а расходные 12 утра
|
|||
12
Godofsin
01.10.14
✎
13:12
|
(9) Вот это конструктивный разговор!
|
|||
13
Godofsin
01.10.14
✎
13:13
|
1000р.
|
|||
14
Victor80
01.10.14
✎
13:16
|
давайте за 500 )
вот примерный код Если Док.Вид() = "РасходнаяНакладная" Тогда ... ИначеЕсли Док.Вид() = "ПриходнаяНакладная" Тогда ... КонецЕсли; Перем Ч,М,С; ДокументДата = Док.ДатаДок; Док.ПолучитьВремя(Ч,М,С); ДокументВремя = Формат(Ч,"Ч (0)2")+":"+Формат(М,"Ч (0)2")+":"+Формат(С,"Ч (0)2"); |
|||
15
Godofsin
01.10.14
✎
13:23
|
(14) хм... ну давай за 500
|
|||
16
Wobland
01.10.14
✎
13:23
|
я угадаю эту мелодию с 900 драхм
|
|||
17
Wobland
01.10.14
✎
13:24
|
(15) и тут пришёл поручик и всё испортил
|
|||
18
Godofsin
01.10.14
✎
13:24
|
(17) )))))
|
|||
19
Victor80
01.10.14
✎
13:28
|
куда писать? и скидывать файл
|
|||
20
Godofsin
01.10.14
✎
13:30
|
(19) Godofsin@pochta.ru
|
|||
21
Злопчинский
01.10.14
✎
18:12
|
(14) с таким подходом ты слона не продашь.
ДокументВремя= Док.ПолучитьВремя(Ч,М,С); . ну и заодно пригодится http://infostart.ru/public/13835/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |