Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 519
от 13.06.2007, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 405, Экспертов: 56
В номере:Вопросов: 3, Ответов: 13


Вопрос № 90445: Здравствуйте уважаемые эксперты! При занесении обработкой в справочник из Экселя как мне преобразовать в строку без первых трёх символов, типа:ул.Ленина - Ленина....
Вопрос № 90499: Доброе время суток. Подскажите, как можно в 1с 7.7 сделать, чтобы печатные формы печатались на разных бланках, т.е. в печатную форму какого-либо документа добавить реквизит, в который подставлялась бы картинка из внешнего файла например. Картинка в з...
Вопрос № 90504: Уважаемые эксперты подскажите, пожалуйста, почему сбивается нумерация в 1С. Бухгалтерии 7.7? Например, справочник Номенклатуры и документы. Некоторые элементы справочника и некоторые документы заносятся в базу данных с помощью внешней обработки, може...

Вопрос № 9 0.445
Здравствуйте уважаемые эксперты! При занесении обработкой в справочник из Экселя как мне преобразовать в строку без первых трёх символов, типа:ул.Ленина - Ленина.

Приложение:

Отправлен: 07.06.2007, 17:08
Вопрос задала: Darina (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Андрей Тимофеев
Здравствуйте, Darina!
Попробуйте так:
Улица = Строка(СокрЛП(ОкноExcel.Cells(Ном,3).Value));
Спр.Улица = Прав(Улица, СтрДлина(Улица)-3);
Ответ отправил: Андрей Тимофеев (статус: 3-ий класс)
Ответ отправлен: 07.06.2007, 17:20
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: DERL.KG
Здравствуйте, Darina!
Стр = СокрЛП(Строка(ОкноExcel.Cells(Ном,3).Value));
Спр.Улица = Сред(Стр,4,СтрДлина(Стр));
Ответ отправил: DERL.KG (статус: 3-ий класс)
Ответ отправлен: 07.06.2007, 17:23

Отвечает: Dmitry Stashenko
Здравствуйте, Darina!

А в чем проблема, то? Стандартные функции Прав() и СтрДлина().

Улица= Строка(СокрЛП(ОкноExcel.Cells(Ном,3).Value));
Спр.Улица = Прав(Улица,СтрДлина(Улица)-3);
Ответ отправил: Dmitry Stashenko (статус: 3-ий класс)
Ответ отправлен: 07.06.2007, 19:08
Оценка за ответ: 5
Комментарий оценки:
спасибо!

Отвечает: ATan
Здравствуйте, Darina!
Спр.Улица= Строка(СокрЛП(ОкноExcel.Cells(Ном,3).Value));
Спр.Улица = Прав(Спр.Улица,СтрДлина(Спр.Улица)-3);
Ответ отправил: ATan (статус: 3-ий класс)
Ответ отправлен: 08.06.2007, 08:24
Оценка за ответ: 4
Комментарий оценки:
спасибо

Отвечает: Elric
Здравствуйте, Darina!

А вот код в одну строчку :)

Стр = Сред(СокрЛП(ОкноExcel.Cells(Ном,3).Value),4);

На самом деле, просто хотелось подсказать еще один режим работы функции Сред. И, кстати, функция СокрЛП автоматически преобразовывает значение в строку, явно это делать не обязательно.
---------
Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 09.06.2007, 00:19
Оценка за ответ: 5
Комментарий оценки:
Спасибо в очередной раз!


Вопрос № 90.499
Доброе время суток. Подскажите, как можно в 1с 7.7 сделать, чтобы печатные формы печатались на разных бланках, т.е. в печатную форму какого-либо документа добавить реквизит, в который подставлялась бы картинка из внешнего файла например. Картинка в зависимости от марки автомобиля и организации, т.к. на каждую марку свой фирменный бланк. Какими методами встроенного языка это можно реализовать? Спасибо
Отправлен: 07.06.2007, 22:25
Вопрос задала: Avanti (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Полозов Олег aka Asher
Здравствуйте, Avanti!
Можно сделать таким образом:
В Форме элемента справочника )для определенности возьмем справочник "Номенклатура") необходимо добавитьТекстовое поле "Файл" в котором будет храниться фото, и Картинку, например "Фото".
Рекомендую в каталог информационной базы добавить каталог "Pictures", где будем хранить картинки.
В процедуре ПриОткрытии() добавить код:

Если ФС.СуществуетФайл(Файл) Тогда
Картинка.Загрузить(Файл);
КонецЕсли;

Да, файл может быть форматов: *.wmf, *.emf, *.ico, *.bmp, *.dib, *.rle
Удачи.
Ответ отправил: Полозов Олег aka Asher (статус: 6-ой класс)
Ответ отправлен: 08.06.2007, 02:22
Оценка за ответ: 5
Комментарий оценки:
Спасибо, буду знать. Хотя в данный момент интересовала печатная форма :)

Отвечает: ATan
Здравствуйте, Avanti!
Необходимо в свойствах объекта рисунок, который добален на таблицу, на закладке текст добавить следующий код:
Таблица.ТекущийОбъект.Загрузить(ИмяФайлаРисунка).
Процедура вывода выглядит так:
Процедура Сформировать()
Таблица = СоздатьОбъект("Таблица");
ИмяФайлаРисунка = "c:рисунок.bmp";
Таблица.ВывестиСекцию("Рисунок");
Таблица.Показать();
КонецПроцедуры
Имя таблицы в модуле и в таблице должно совпадать.
Удачи
Ответ отправил: ATan (статус: 3-ий класс)
Ответ отправлен: 08.06.2007, 08:39
Оценка за ответ: 5
Комментарий оценки:
Спасибо, все получилось.

Отвечает: Ovr1970
Здравствуйте, Avanti!
Дополню ответ от ATan.
Лучший метод для разных форм - это метод "ИсходнаяТаблица". В качестве параметра к этому методу может служить имя файла типа "mxl", который Вы собственно и будете изменять. Т.е Вы можете создать две похожих таблицы с разными рисунками, текстами по умолчанию, оформление и т.д. и в зависимости от предпочтений выбрать ту или другую. Более того, если привязать имя файла к каталогу пользователя, то у одного пользователя может быть один вид формы, а у другого - отличный.
Ответ отправил: Ovr1970 (статус: Практикант)
Ответ отправлен: 08.06.2007, 11:25
Оценка за ответ: 5
Комментарий оценки:
да, это вариант. Просто в данном случае формы одинаковые, а картинок разных довольно много. Не удобно создавать слишком много форм.

Отвечает: Dmitry Stashenko
Здравствуйте, Avanti!

Метод Загрузить() объекта "Картинка". Поддерживаемые расширения - wmf, emf, ico, bmp, dib, rle.

Кстати, если нужен прозрачный фон картинки, то надо либо использовать wmf файлы, либо в Экселе делать для картинки прозрачный фон, а потом вставлять эту картинку в 1С.

А еще у меня есть Active-X элемент управления, который существенно
расширяет возможности вывода Таблиц объекта 1С-Предприятия. Автор Морев Андрей

Распространяется свободно, так что могу кинуть
Ответ отправил: Dmitry Stashenko (статус: 3-ий класс)
Ответ отправлен: 08.06.2007, 12:24
Оценка за ответ: 5
Комментарий оценки:
У меня картинки jpg тоже загружаются почему-то.
Active-x киньте, если не сложно :)


Вопрос № 90.504
Уважаемые эксперты подскажите, пожалуйста, почему сбивается нумерация в 1С. Бухгалтерии 7.7? Например, справочник Номенклатуры и документы. Некоторые элементы справочника и некоторые документы заносятся в базу данных с помощью внешней обработки, может из-за этого? И как это поправить? При непонятно каких условиях эта обработка начинает давать сбой в виде (... код не уникален)
Отправлен: 07.06.2007, 23:01
Вопрос задала: Xleo (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Townsman
Здравствуйте, Xleo!
Если внешняя обработка – это стандартный tranref.ert, то есть смысл при загрузке включить синхронизацию по кодам – создавать новый код элемента. А поправить это дело, уже сделанное, можно той же обработкой путем выгрузки справочников в файл и их обратной загрузкой, но уже без синхронизации, тогда все элементы встанут по порядку. А если обработка самодельная, тогда надо спросить у того, кто ее сотворил…
Ответ отправил: Townsman (статус: 1-ый класс)
Ответ отправлен: 08.06.2007, 00:10
Оценка за ответ: 2

Отвечает: Полозов Олег aka Asher
Здравствуйте, Xleo!

Все дело в обработке. Необходимо разобраться как в ней происходит нумерация.
Я бы копал так:
1. найти место где происходит синхронизация по коду. так как при переносе мы должны проверить существовал элемент в справочнике или он новый. Ищем что то типа "Если ЭлементСправочника.НайтиПоКоду(Код) тогда...". Проверяем корректность работы этого куска.
2. Ищем кусок создания нового элемента. Что то типа "ЭлементСправочника.Новый()"
На 90% уверен, что там стоит принудительная нумерация, т.е. код элемента задается программно по какому то определенному принципу. Вот здесь надо проверить что дает сбой.
Удачи.
Ответ отправил: Полозов Олег aka Asher (статус: 6-ой класс)
Ответ отправлен: 08.06.2007, 02:33
Оценка за ответ: 3

Отвечает: ATan
Здравствуйте, Xleo!
1. Чаще всего нумерация сбивается при потыках вручную задать код справочника,
или номер документа, с последующим желанием отдать функциию генерации
обратно стандартным средствам 1С.
2. поравить это довольно просто, после функции Новый() создающего объект справочника или документ :
для справочника вызываем УстановитьНовыйКод()
для документа УстановитьНовыйНомер().

Удачи.
Ответ отправил: ATan (статус: 3-ий класс)
Ответ отправлен: 08.06.2007, 08:47

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Xleo!
1. В справочниках код сбивается чаще всего, если в конфигураторе задано "Серии кодов в пределах подчинения". Тогда в разных группах будут элементы с одним номером. При переносе элемента в другую группу в группе получаются 2 элемента с одним номером. Эти элементы (без установки нового кода ) не редактируются ни вручную, ни программно, и дают код не уникален
2. Вторая причина - вручную редактируют код или номер. Чаще всего бухи в поле номера механически вписывают дату документа, или чего-то еще. Правится очень сложно. Необходимо все сбойные номера перенумеровать и в процедуре ВводНового() УстановитьНовыйНомер("000");, т.е. в качестве префикса принудительно задаем нули(если номер текстовый). Для того, чтобы бухи не сбивали номер, необходимо во всех документах и справочниках поставить "ПропускатьПриВводе", хотя супротив бухов это слабо помогает.
3. Иногда помогает такое шаманство (ПРОВЕРИТЬ СНАЧАЛА НА ТРЕНИРОВОЧНОЙ БАЗЕ, СДЕЛАТЬ КОПИЮ БАЗЫ). После присвоения правильных номеров документам, отменить птичку КонтрольУникальности, изменить периодичность нумерации, сохранить данные, вернуть периодичность нумерации и контроля уникальности, сохранить данные и внимательно прочитать список ругательств конфигуратора (если они будут, то устранить, и повторить). При этом пересчитываются нумераторы, и иногда они восстанавливаются. Если документу присвоен нумератор, то одновременно это нужно делать на всех документах, имеющих этот нумератор.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Практикант)
Ответ отправлен: 08.06.2007, 11:18


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное