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

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

  Все выпуски  

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 93
от 21.12.2005, 08:45

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


Вопрос № 31530: Здравствуйте эксперты! В конфигурации Зарплата + Кадры для расчетных листков сделали табульки чтобы выводились не по одному а по несколько штук по порядку. Теперь начальство хочет чтобы в одной стороне листа выводилась в виде 2-х столбцов по порядку....
Вопрос № 31534: Добрый день уважаемые господа. Подскажите пожалуйста, можно ли организовать получение выборки по документам из другой базы. Тоесть существует база за период с 2000 по 2005 год в 2006 решили изменить структуру работы предприятия и создаем новую базу д...
Вопрос № 31548: у меня есть запрос который выводит остатки товара всё чюдно но он выводит все остатки а как его ограничить т.е. пищевые -->мука -->сахар -->рис не пещевые мне нужно что бы выводилось только то что есть в группе пищ...
Вопрос № 31558: Всем хай! В продолжение вопроса 31476 (выгрузка ВСЕХ справочников в DBF) (кстати, огромное спасибо всемоткликнувшимся): Список полей получил, структуру DBFки сварганил, заполняю данные... Проблема в следующем: При переборе всех п...
Вопрос № 31564: Доброго здоровичка! Не совсем для программистов вопрос, но не знаю где найти. 1С:Бухгалтерия 7.7. Встретил такую фразу "Компонента «Бухгалтерский учет» предоставляет возможность ведения бухгалтерского учета для нескольких предприятий в одной...
Вопрос № 31589: Добрый день! Подскажите, пожалуйста, обработку для быстрого переноса документов между БД с идентичными конфигурациями - чтобы при этом переносились и задействованные в документах элементы справочников. Нет времени писать, а в интернете не могу найти ...

Вопрос № 31.530
Здравствуйте эксперты! В конфигурации Зарплата + Кадры для расчетных листков сделали табульки чтобы выводились не по одному а по несколько штук по порядку. Теперь начальство хочет чтобы в одной стороне листа выводилась в виде 2-х столбцов по порядку. Никак не могу решить эту задачу. Что мне делать?

Пожалуйста помогите!!!!!!!

Приложение:

Отправлен: 15.12.2005, 09:43
Вопрос задал: Laziz M. Ismailov (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Ovr1970
Здравствуйте, Laziz M. Ismailov!
В кратце, 1С сама это не сделает, нужно программировать. Т.е. Каким - то образом обработать табульки заранее (можно кстати вывести их в таблицу в одну колонку и обрабатывать ее, для вывода обработанных данных в другую таблицу уже в две колонки). Соответственно даже переносом страницы тебе придется заниматься самому.
Ответ отправил: Ovr1970 (статус: 5-ый класс)
Отправлен: 15.12.2005, 10:52
Оценка за ответ: 5
Комментарий оценки:
Спосибо вам за ваш совет! очень благодарен. Знаете я уже испробовал этот метод (таблицу с двумя колонками). Они выводят одинаковые данные. Если вас не затруднит, объясните мне пожалуйста.


Вопрос № 31.534
Добрый день уважаемые господа. Подскажите пожалуйста, можно ли организовать получение выборки по документам из другой базы. Тоесть существует база за период с 2000 по 2005 год в 2006 решили изменить структуру работы предприятия и создаем новую базу для ведения учета. Но в работе нужно будет иногда получать некоторые данные из "старой базы" (например, зарплату человека за период 2005 года) как это сделать? (если можно с примером)
Отправлен: 15.12.2005, 10:18
Вопрос задал: Ткаченко Алексей Васильевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ovr1970
Здравствуйте, Ткаченко Алексей Васильевич!
Да, можно. 1С предприятие поддерживает OLE Automation. Но прямой доступ к данным очень медленный. Оптимальным будет такой вариант. Ты пишешь отчет в страрой конфигурации, который выгружает данные, а в новой - отчет, который загружает данные (формат данных вибираешь кокой тебе удобнее). Соответственно в новой конфигурации пишеш обработку, которая вызывает в старой конфигурации отчет для выгрузки данных, после чего загружаешь данные в новой конфигурации и показываешь их.
Запускается отчет в конфиурации примерно так:
v7=СоздатьОбъект("V77.Application");
v7.initialize(v7.RMTrade,"<Ключи запуска...> /d<Путь к БД>","NO_SPLASH_SHOW");
v7.ExecuteBatch("<Команда 1С>");
где "<Команда 1С>" - это вызов фунции или процедуры
Ответ отправил: Ovr1970 (статус: 5-ый класс)
Отправлен: 15.12.2005, 11:03

Отвечает: Крюков Р.А.
Здравствуйте, Ткаченко Алексей Васильевич!

Лучше всего сделать через OLE.

40 Глава Описания встроенного языка.
---------
Отвечаю только на вопросы в тему.
Ответ отправил: Крюков Р.А. (статус: 1-ый класс)
Отправлен: 15.12.2005, 13:54

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Ткаченко Алексей Васильевич!
Общее рассуждение такое. Создать в старой базе в глобальном модуле функцию, которая все будет считать, и возвращать в результате ТЗ. С новой базы вызывайте через ОЛЕ старую. Метод сложный и глючный.
Гораздо легче (если старая база изменяться не будет) в старой базе внешней самописной обработкой рассчитать помесячные все данные по всем сотрудникам. Выгрузить данные в ДБФ файл (однократно). После этого пользуйтесь данными
из файла когда угодно и сколько угодно.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: 6-ой класс)
Отправлен: 15.12.2005, 14:46
Оценка за ответ: 5
Комментарий оценки:
Оригинально, и довольно просто! Спасибо!


Вопрос № 31.548
у меня есть запрос который выводит остатки товара всё чюдно но он выводит все остатки а как его ограничить
т.е.
пищевые
-->мука
-->сахар
-->рис
не пещевые

мне нужно что бы выводилось только то что есть в группе пищевые, но при этом подгруппа рис не выводилось тоже.
Отправлен: 15.12.2005, 13:21
Вопрос задал: Владислав (статус: Студент)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ovr1970
Здравствуйте, Владислав!
Если у Вас товары называются в запросе как "товар", то нужно добавить условие
Условие (Товар в спТовар);
гда спТовар - это список значений, который содержит все элементы группы "Пищевые", кроме "рис"
Или такое условие
Условие ((Товар в ВыбТовар) и (не(Товар в НеВыбТовар)));
где ВыбТовар - это реквизит со значением группа "пищевые", а НеВыбТовар - это реквизит со значением группа "рис"
Ответ отправил: Ovr1970 (статус: 5-ый класс)
Отправлен: 15.12.2005, 13:41

Отвечает: Крюков Р.А.
Здравствуйте, Владислав!

Если в справочнике сделано дерево групп постройте условия по обращению к наименованию Родителя Элемента с выборкой из списка

например
ВыбСписок = СоздатьОбъект("СписокЗначений");
ВыбСписок.Добавить("мука"); // и.т.д
........
| Условие (Товар..Родитель.Наименование В ВыбСписок)
---------
Отвечаю только на вопросы в тему.
Ответ отправил: Крюков Р.А. (статус: 1-ый класс)
Отправлен: 15.12.2005, 13:45

Отвечает: Сергей
Здравствуйте, Владислав!
в запросе идет несколько группировок:
1 группировка по 1 родителю
2 группировка по 2 родителю
3 группировка по товарам.
и при выводе печатной формы:
вывод по группировкам, 3 следует удалить или сделать комментарием: //
Ответ отправил: Сергей (статус: 1-ый класс)
Отправлен: 15.12.2005, 14:14
Оценка за ответ: 3
Комментарий оценки:
т.е. как удалить? у меня там вообще одна группировка
|Группировка Товар все ВошедшиеВЗапрос;
Ответ оцениваю нейтрально т.к. я его не понял.
P.S. Считаю что он вообще не о том был.


Вопрос № 31.558
Всем хай!
В продолжение вопроса 31476 (выгрузка ВСЕХ справочников в DBF)
(кстати, огромное спасибо всемоткликнувшимся):

Список полей получил, структуру DBFки сварганил, заполняю данные...
Проблема в следующем: При переборе всех полей записи (реквизитов элемента) справочника дохожу до поля(реквизита), тип коего есть "Справочник"...
При обращении к полю "по имени" достать значение по такой ссылке проблем не представляет:
Вместо
<Справочник>.<ИмяПоля_ТекСправочника>
пишем
<Справочник>.<ИмяПоля_ТекСправочника>.<ИмяПоля_СправНаКоторыйСсылаемся>
....
Но если я обращаюсь к полю(реквизиту) по индексу через Метаданные
<Справочник>.ПолучитьАттрибут(<МетаСправ>.Реквизит(i).Идентификатор)
..для простых типов я получаю значение i-того поля в текущей записи,
а для типов "Справочник" ("Перечисление", "Счёт") не получаю вообще ничего (судя по тому,
что отладчик показывает)
Теоретически (судя по тому, что отладчик такую конструкцию "хавает")
<Справочник>.ПолучитьАттрибут(<МетаСправ>.Реквизит(i).Идентификатор).<ИмяПоля_СправНаКоторыйСсылаемся>
(или пусть даже так:
<Справочник>.ПолучитьАттрибут(<ИмяПоля_ТекСправочника>).<ИмяПоля_СправНаКоторыйСсылаемся>
)
должно как раз и возвращать требуемое значение.... Но результат - тоже пустой :(
Кто чего умного подскажет?
Кусок кода в приложении...

ЗЫ: Или хотя бы линк дайте, где есть НОРМАЛЬНАЯ, ВНЯТНАЯ, ПОЛНАЯ дока по ИЗВРАЩЁННОМУ встроенному языку чёртовой 1С-ки!

Приложение:

Отправлен: 15.12.2005, 16:21
Вопрос задал: Telran (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ovr1970
Здравствуйте, Telran!
Для получения реквизита типа справочник достаточно такого обращения:
<Справочник>.ПолучитьАттрибут(<МетаСправ>.Реквизит(i).Идентификатор)
Почему вы ничего не получаете не понятно, но хотелось бы выяснить какому типу переменной вы присваиваете значение атрибута?.
В любом случае, полностью положить такие данные в дбф не удасться. Значение агрегатного типа (справочник, документ, счет) придется записывать не полностью, а только его ключевую часть. Для справочника это обычно код, но не обязательно.
Кстати, тип переменной после присваивания можно проверить оператором ТипЗначенияСтр.
Ответ отправил: Ovr1970 (статус: 5-ый класс)
Отправлен: 15.12.2005, 17:15
Оценка за ответ: 5


Вопрос № 31.564
Доброго здоровичка!
Не совсем для программистов вопрос, но не знаю где найти. 1С:Бухгалтерия 7.7. Встретил такую фразу "Компонента «Бухгалтерский учет» предоставляет возможность ведения бухгалтерского учета для нескольких предприятий в одной информационной базе." Это подразумевает, что можно в одно базе вести несколько юр.лиц? Если да, то каким образом?, реквизиты организации являются константами, и если их менять... К примеру, как выписать две платежки, от разных юр. лиц? Я такое тока в ТиСе встречал.
Спасибо.
Отправлен: 15.12.2005, 18:08
Вопрос задал: FarGot (статус: 6-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Ovr1970
Здравствуйте, FarGot!
Так же как и в ТиС'е в каждом документе указывается фирма, которой принадлежит данный документ по учету и фирма, которая его выписала (т.е. принадлежность определяется не базой данных , например через константы, а явно указывается в каждом документе).
Возможность такого учета зависит от версии конфигурации, и там, где фирма - владелец документов задается через константы такой учет не возможен.
Ответ отправил: Ovr1970 (статус: 5-ый класс)
Отправлен: 15.12.2005, 18:17
Оценка за ответ: 5

Отвечает: Тираель
Здравствуйте, FarGot!
Да можно если использовать распределенную базу данных (но для одного юр. лица речь идет о любых структурированных предприятиях имеющих одни реквизиты) возможен многопользовательский доступ одновременно несколькими пользователями возможно работа в нескольких базах для разных юр лиц с одной машины программа ето обработчик базы и не более
---------
Ищите истину там где ее НЕТ
Ответ отправил: Тираель (статус: 8-ой класс)
Отправлен: 15.12.2005, 18:35

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, FarGot!
Нужно, чтобы в конфигурации был справочник Фирмы и на этот справочник был настроен РозделительПоФирме в проводках. Тогда если перед коммандой
БухИт.ВыполнитьЗапрос() выполнять команду
БухИт.ИспользоватьРазделительУчета(Фирма) то данные будут получены по конкретной фирме.
При этом справочники контрагентов, номенклатуры и сотрудников будут общими.
ИМХО, это неудобно. Лучше каждую фирму вести в отдельной базе - будет глюкоустойчивей.
А по поводу платежки все просто - банковские реквизиты должны быть записаны не в общих справочниках, а в справочнике Фирмы, или в справочнике Банки, который должен быть подчинен справочнику Фирмы.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: 6-ой класс)
Отправлен: 19.12.2005, 10:19


Вопрос № 31.589
Добрый день! Подскажите, пожалуйста, обработку для быстрого переноса документов между БД с идентичными конфигурациями - чтобы при этом переносились и задействованные в документах элементы справочников. Нет времени писать, а в интернете не могу найти подходящую.
Отправлен: 16.12.2005, 06:58
Вопрос задала: Белоусова Полина (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сергей
Здравствуйте, Белоусова Полина!
есть обработка rdexim.ert позволяющая перебрасывать из одной базы в другую как справочники так и документы.
Если нужна пишите на azimplus@mail.ru вышлю обязательно.
Успехов в работе.
Ответ отправил: Сергей (статус: 1-ый класс)
Отправлен: 16.12.2005, 08:45

Отвечает: Тираель
Здравствуйте, Белоусова Полина!
Используйте компоненту RBD мну адресс емайла могу выслать .
---------
Ищите истину там где ее НЕТ
Ответ отправил: Тираель (статус: 8-ой класс)
Отправлен: 16.12.2005, 10:37


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

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

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

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

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


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


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.1cprogfaq
Архив рассылки
Отписаться
Вспомнить пароль

В избранное