Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0
Делаю перенос с 7.7 в 8.2. с БУХ в БУХ (знаю, надо пользоваться типовой обработкой. Но тут много индивидуального) При формировании документа "Прием на работу в организацию" в 8.2. мне надо получать с спр.Сотрудники (7.7.) значение "Дата увеличения з/п" - ДатаБазыИндекса;
Тест такой: спр - тут мы уже получили с 7.7 записи справочника и обрабатываем их...
спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл
СпрИ = Спр.ТекущийЭлемент(); Если СпрИ.ЭтоГруппа() = 1 Тогда Продолжить; Иначе сотр = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(СпрИ.Наименование).Ссылка;
Проблема в чем : ДатаБазыИндекса - его и нету в списке реквизитов и получить его я не могу. ни так : СпрИ.ДатаБазыИндекса ни так:СпрИ.ДатаБазыИндекса .Получить(ДатаОстатков)
Проблема в чем : ДатаБазыИндекса - его и нету в списке реквизитов и получить его я не могу. ни так : СпрИ.ДатаБазыИндекса ни так:СпрИ.ДатаБазыИндекса .Получить(ДатаОстатков)
В бух 77, этот реквизит заполняется функцией, при открытии элемента Вашего СпрИ. Чтоб получить актуальное значение(на вашу ДатуОстатков??или ДатуЗагрузки/выгрузки?), нужно найти значение (1) периодического реквизита ПризнакИзмененияДоходаДляИндексации текущего СпрИ на эту дату . тоестьэто целая функция (глобальная), которая возвращает дату: Функция глПрочитатьДатуИзмененияДоходаДляИндексации(НП, ИмяРеквизита, Объект = "") Экспорт
Группа: Местный
Сообщений: 237
Спасибо сказали: 47 раз
Рейтинг: 42
Цитата(igmig65 @ 03.12.11, 23:57)
В бух 77, этот реквизит заполняется функцией, при открытии элемента Вашего СпрИ. Чтоб получить актуальное значение(на вашу ДатуОстатков??или ДатуЗагрузки/выгрузки?), нужно найти значение (1) периодического реквизита ПризнакИзмененияДоходаДляИндексации текущего СпрИ на эту дату . тоестьэто целая функция (глобальная), которая возвращает дату: Функция глПрочитатьДатуИзмененияДоходаДляИндексации(НП, ИмяРеквизита, Объект = "") Экспорт
а реквизит в справочнике называется "ПризнакИзмененияДоходаДляИндексации", но пользоваться надо функцией глПрочитатьДатуИзмененияДоходаДляИндексации
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0
если нужно запускать функцию для выдачи Искомой даты. Нужные параметры : 1.ПризнакИзмененияДоходаДляИндексации - 0/1 получаем. 2. дата тоже есть. 2.текущий элемент(спрИ) тоже есть. Подскажите как мне заставить выполнять нужную функцию .. ( к справочнику в 7.7 я попадаю так:
Варианта2 1.Выгружаем справочник из 7 а в 8 загружаем 2.По ОЛЕ - пишем 7-й запрос с получением даты изменения 2,5. Можно поиграться с EvalExpr() (в 7 написать функцию с Экспорт)
V7 = Новый COMобъект("V77.Application"); СпрНом = V7.CreateObject("Справочник.Номенклатура"); СпрЦены = V7.CreateObject("Справочник.Цены"); Периодический = V7.CreateObject("Периодический"); .... .... Периодический.ИспользоватьОбъект("Цена",СпрЦены); Периодический.ВыбратьЗначения(); Пока Периодический.ПолучитьЗначение() > 0 Цикл //В цикл не входит хотя в 1с7 4 раза изменялась цена
зразу вибачаюсь, якщо нісенітниця, бо розумію проблему лише дуже абстрактно : може тимчасово створити для об'єкту реквізит, промоделювати ситуацію розрахунку з присвоєнням значення реквізиту (тобто фізичному полю). а вісімки уже просто забрати готовеньке....
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0
to sava1 регистр сведений ПараметрыРасчетаИндексации заполнен уже только не тем чем надо. Там стоят даты приема. а у нас есть более поздние даты Индексации ЗП
Пока ТовОле.ПолучитьЭлемент()=1 Цикл СпрИ = ТовОле.ТекущийЭлемент(); Если СпрИ.ЭтоГруппа()= 1 ИЛИ СпрИ.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли; // Пометка = Спри.ПризнакИзмененияДоходаДляИндексации.Получить(ДатаОстатков); //Если Пометка = 0 Тогда //Пометка = "0"; //Иначе Пометка = "1"; //КонецЕсли; ДатаЗП = БазаИ.EvalExpr("глПрочитатьДатуИзмененияДоходаДляИндексации("+ "20110102,ПризнакИзмененияДоходаДляИндексации"+","+Спри.Наименование+")");// тут точно ошибка бо СПРИ.Наименование идет как Иванов В.В. // и 1с не понимает что такое "В." //как вариант: я окончательно запутался ))
можете подсказать как корректно передать параметры в функцию знаю что надо передавать Строкой с 8-ки. 1й. параметр - дата на которую смотреть. 2й. Это признак (0,1) - реквизит 3й. текущий элемент
......это из модуля спр фирмы. датабазыиндекса -реквизит формы, но не реквизит объекта справочник. сделайте его реквизитом объекта, поставьте нужную рубочую дату и откройте справочник фирмы.
......это из модуля спр фирмы. датабазыиндекса -реквизит формы, но не реквизит объекта справочник. сделайте его реквизитом объекта, поставьте нужную рубочую дату и откройте справочник фирмы.
він сам по собі не заповниться, потрібна ще обробка для його заповнення
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!