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

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

  Все выпуски  

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 768
от 27.03.2008, 15:35

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

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 128460: вопрос касательно 1cv8 в 1с есть поле Код, но на сколько я знаю оно не является уникальным для справочника. Есть ли в 1с какой нибудь сквозной код, который непосредственно дентифицирует строку в справочнике. и если есть то ка...
Вопрос № 128481: У меня в документе Заказ 1С7.7 именился алгоритм расчета стоимости. Процедура РасчетСтоимости() находится в модуле формы, кнопка вызова в диалоге формы документа. Вопрос: Как мне из внешней обработки выбрать 2000 документов, пересчитать стоимость зак...
Вопрос № 128501: Дайте, плиз, ДемоБазу к 1С:Предприятию 8.1...

Вопрос № 128.460
вопрос касательно 1cv8

в 1с есть поле Код, но на сколько я знаю оно не является уникальным для справочника.

Есть ли в 1с какой нибудь сквозной код, который непосредственно дентифицирует строку в справочнике.
и если есть то как к нему добраться.


Отправлен: 21.03.2008, 18:39
Вопрос задал: Кэр Лаэда (статус: Практикант)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Брагар Сергей Владимирович
Привет Антоха. Для справочника код такой же уникальный как и для всех остальных объектов метаданных. Для контроля уникальности ставится галочка в «Контроль уникальности»
Ответ отправил: Брагар Сергей Владимирович (статус: 1-ый класс)
Ответ отправлен: 21.03.2008, 19:00
Оценка за ответ: 3
Комментарий оценки:
Не знаю кто такой Антоха, но если в 1с есть возможность отменить контроль уникальности значит все таки 1с как то может обращаться к каждой записи даже при отключенном контроле уникальности, вот меня интересует вопрос как добраться до этого поля с уникальным кодом.. программно

Отвечает: Яна
Здравствуйте, Кэр Лаэда!
У всех объектов в базе есть поле Ссылка, в нем хранится уникальный id, увидеть его можно, выгрузив объект в xml.
Ответ отправила: Яна (статус: Практикант)
Ответ отправлен: 21.03.2008, 21:26
Оценка за ответ: 4
Комментарий оценки:
Уже близко, однако мне нужно программно

Отвечает: Вильгоненко Станислав Викторович
Здравствуйте, Кэр Лаэда!
Может вы имеете ввиду метод элемента справочника: "ПолныйКод"? Он возвращает путь к элементу со всеми уровнями.
Ответ отправил: Вильгоненко Станислав Викторович (статус: 2-ой класс)
Ответ отправлен: 22.03.2008, 09:51
Оценка за ответ: 5
Комментарий оценки:
Очень даже может быть.. попробую

Отвечает: Дмитрий Сташенко
Здравствуйте, Кэр Лаэда!

А может помогут процедуры ЗначениеВСтрокуВнутр() и ЗначениеИзСтрокиВнутр()?

ЗначениеВСтрокуВнутр();
Синтаксис:
ЗначениеВСтрокуВнутр(<Объект>)
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
<Объект> - значение объекта агрегатного типа данных которое нужно преобразовать.

ЗначениеВСтрокуВнутр(ТекущийЭлемент()) вернет строку что-то типа {"B","0","0","289","0","0"," 7732 "}

ЗначениеИзСтрокиВнутр() - соответственно, обратное преобразование, то есть если вызвать ЗначениеИзСтрокиВнутр("{"+"""B"""+","+"""0"""+","+"""0"""+","+"""289"""+","+"""0"""+","+"""0"""+","+""" 7732 """+"}"), то получим ссылку на тот же элемент. Как видите, тут пришлось "склеить" строку представления по кусочкам, так как мало того, что сама строка должна быть заключена в кавычки, так и строка содержит кавычки и запятые. Поэтому пришлось извратиться. В приложении все просто, так как переменной Пер присваивается результат ЗначениеИзСтрокиВнутр. А вот если переменной Пер присваивать текстовое значение, то тогда мы бы так и написали: Пер = "{"+"""B""&qu ot;+","+"""0"""+","+"""0"""+","+"""289"""+","+"""0"""+","+"""0"""+","+""" 7732 """+"}";

Вот вроде и все. Удачи

Приложение:

Ответ отправил: Дмитрий Сташенко (статус: Студент)
Ответ отправлен: 22.03.2008, 12:28
Оценка за ответ: 5
Комментарий оценки:
спасибо попробую

Отвечает: Larsh
Здравствуйте, Кэр Лаэда!
Каждому справочнику соответствует таблица ДБФ (Это я про 7.7) там есть поле ID Каждому элементу справочника слоответствует свой ID. При помощи "ВСтрокуВнутр" мы и получаем это значение,если база нераспределенная.
Ответ отправила: Larsh (статус: 2-ой класс)
Ответ отправлен: 24.03.2008, 03:30
Оценка за ответ: 3
Комментарий оценки:
Ну во первых в вопросе я указал что мне нужно именно 8 версия, а во вторых я не нашел в 7 версии функции "ВСтрокуВнутр"


Вопрос № 128.481
У меня в документе Заказ 1С7.7 именился алгоритм расчета стоимости. Процедура РасчетСтоимости() находится в модуле формы, кнопка вызова в диалоге формы документа. Вопрос: Как мне из внешней обработки выбрать 2000 документов, пересчитать стоимость заказа, записать и провести документы? Пытался через ОткрытьФорму, через FormEx, никак что-то не получается. Спасибо большое.
Отправлен: 21.03.2008, 21:06
Вопрос задал: Ginar (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Астафьев Александр Николаевич
Здравствуйте, Ginar! Возьмите за пример-основу любую внешнюю обработку печати документов в 1С 7.7 (пример в приложении) Туда передается как параметр документ из которого вы открываете обработку.В обработке перебираете что надо , из обработки обращаетесь к документу и меняете в нем что хотите. В модуле формы напишете:
ОткрытьФорму("Отчет", Контекст, КаталогИБ()+"ExtFormsздесьимяобработки.ert");

Приложение:

Ответ отправил: Астафьев Александр Николаевич (статус: Студент)
Ответ отправлен: 22.03.2008, 08:18
Оценка за ответ: 4
Комментарий оценки:
Ответ немного не по теме, но интересный. Спасибо за участие и внимание.

Отвечает: Дмитрий Сташенко
Здравствуйте, Ginar!

А зачем вам ОткрытьФорму()? Попробуйте ВыполнитьПроцедуру() FormEx`a

ВыполнитьПроцедуру(,,)
Синтаксис:
ВыполнитьПроцедуру(<Контекст>,<ИмяПроцедуры>,<СписокАргументов>)
Назначение:
Метод предназначен для выполнения процедуры в заданном контексте.
Возвращает 1 в случае успеха, 0 - в противном случае.
Пареметры:
<Контекст> - необязательный параметр. Контекст, в котором необходимо выполнить процедуру.
По умолчанию выполняется в текущем контексте.
<ИмяПроцедуры> - строка с именем процедуры.
<СписокАргументов> - необязательный параметр. Список значений, содержащий аргументы
процедуры. Если размер списка меньше, чем количество аргументов процедуры или параметр
опущен, то в оставшиеся аргументы передаются пустые значения. Лишние значения игнорируются.
Значения по умолчанию игнорируются.
Пример:
Перем Конт;
Сервис = СоздатьОбъект("Сервис");
ОткрытьФорму(Обработка.Демо, Конт);
Список = СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение("Первый параметр");
Список.ДобавитьЗначение("Второй параметр");
Список.ДобавитьЗначение("Третий параметр");
Сервис.ВыполнитьПроцедуру(Конт, "Выполнить2", Список);

То есть во внешней обработке где-то так: см. приложение

Как видите, в приложении ВыполнитьПроцедуру() вызывается без 3-го параметра. Если все же нужно передать аргументы в процедуру РасчетСтоимости(), то тогда надо заполнить СписокЗначений из Док.ТекущийДокумент() до вызова ВыполнитьПроцедуру, и передать его в качестве 3-го параметра.

Будут вопросы, пишите. Удачи

Приложение:

Ответ отправил: Дмитрий Сташенко (статус: Студент)
Ответ отправлен: 22.03.2008, 11:21
Оценка за ответ: 4
Комментарий оценки:
В таком виде у меня не получалось, пришлось добавить ОткрытьФорму(), Сервис.ВыполнитьПроцедуру() и SendKeys() из WScript.Shell. Спасибо за участие и внимание


Вопрос № 128.501
Дайте, плиз, ДемоБазу к 1С:Предприятию 8.1
Отправлен: 22.03.2008, 00:06
Вопрос задал: Kravchenko, Alexandr, Viktorovich (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Владимир Лазурко
Здравствуйте, Kravchenko, Alexandr, Viktorovich!

Демо-базу Вы можете найти на диске ИТС в разделе "Релизы программ и конфигураций", выбрав раздел с нужной Вам платформой и конфигурацией. Обычно с типовыми конфигурациями поставляется и демо-база. Она будет в списке шаблонов с пометкой (демо). Получив шаблон конфигурации для платформы 8.1, Вы можете затем создать новую демо-базу.

Как это сделать:
1. После установки нужной конфигурации с диска (ИТС или дистрибутива поставки Вашей конфигурации), запустите 1С:Предприятие 8.1, в окне списка выбора баз нажмите кнопку Добавить.
2. В следующем окне выберите пункт "Создание новой информационной базы" и нажмите кнопку "Далее".
3. После этого откроется следующая страница мастера со списком установленных на компьютере шаблонов конфигураций. Здеcь нужно выбрать пункт "Создать информационную базу из шаблона:" и в дереве списка баз ниже выбрать нужный шаблон, а в раскрывшемся списке демо-базу на основе указанной конфигурации.
Например, у меня в этом окне есть группа "Управление торговлей для Украины", из неё раскрывается список из ещё двух шаблонов - "Управление торговлей для Украины" и "Упрвление торговлей для Украины (демо)".
При раскрытии каждого пункта открывается ещё один уровень со списком релизов конфигурации (у меня это 2.2.4.4 и 2.2.6.4). Его-то и нужно выбрать, а затем нажать кнопку "Далее".
4. На следующем этапе Вы можете указать имя базы в списке баз и указать, где она будет находиться - на данном компьтере, на другом компьютере в локальной сети или на сервере 1С:Предприятия и нажать кнопку "Далее".
5. Теперь нужно будет указать каталог расположения информационной базы и нажать кнопку "Готово". Система создаст демо-базу из указанного Вами шаблона.

Если у Вас нет дисков ИТС или поставки конфигурации, обратитесь к партнерам фирмы "1С".

С уважением, Владимир.

Приложение:

Ответ отправил: Владимир Лазурко (статус: Студент)
Ответ отправлен: 23.03.2008, 21:31


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Росси, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.72.6 beta от 22.03.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное