Есть одна строка размером от 30 до 60 символов и вторая – 10 символов. Нужно сравнить последние 10 символов первой строки со второй строкой.
Из длинной строки можно выбрать последние 10 символов с помощью функции Прав(Строка, Число), где Строка – строка, содержащая извлекаемые символы, Число – количество извлекаемых символов, а затем провести сравнение, например, это будет выглядеть так:
Если Прав(Стр1,10) = Стр2 Тогда
// ваши действия
КонецЕсли;
| опубликовано: 6 Март 2008, 21:49
Как в 1с 7.7 реализовать одномерный массив чисел (объявление, помещение в него чисел и извлечение)? Размер массива заранее не известен.
В этом случае лучше использовать СписокЗначений, заодно можно и текстовое представление дать, кроме хранения самого числа
Спис = СоздатьОбъект(“СписокЗначений”);
///*—-
Спис.ДобавитьЗначение(<значение>,<текстовое представление>);
// и так далее
// можно пробежать циклом по списку:
Для пц = 1 по Спис.РазмерСписка() Цикл
Стр = “”;
Код = Спис.ПолучитьЗначение(пц,Стр);
КонецЦикла;
Если же измерений больше, лучше использовать объект ТаблицаЗначений. Кстати, появляются дополнительные возможности: получение итогов по колонкам, сортировка по произвольной колонке, сворачивание по произвольным колонкам.
| опубликовано: 4 Март 2008, 20:30
Делаю загрузки из ТП 4.х в Бухгалтерию (v7.7). Получаю ошибку Док.ЗаписатьПроводки(); .... : Номер не уникальный!
Все дело в периодичности номеров документов. Как правило, это Год. Если Вы работаете в этом году, а Операции присваиваете дату из прошлого года, то нумерация может дублироваться.
Чтобы решить эту проблему, перед созданием Операции устанавливайте Рабочую дату равной предполагаемой дате Операции: РД=РабочаяДата(ДатаДок);
| опубликовано: 29 Февраль 2008, 13:23