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

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

  Все выпуски  

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


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

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

Выпуск № 428
от 13.02.2007, 23:05

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


Вопрос № 74676: Здравствуйте, подскажите пожалуйста, как из подчиненного справочника получить дату поступления материала, если я выбираю материал из справочника Владелец, в чем моя ошибка? ...
Вопрос № 74696: Уважаемые эксперты, возникла такая ситуация: Бухгалтерия хочет оформлять авансовые отчеты проводками Дт 10 - Кт 71. Но в конфигурации этот способ недоступен, нет такой проводки в числе корректных. Если попытаться добавить, выводится сооб...
Вопрос № 74699: Подскажите. 1С 7.7. Как сохранить печатную форму, открытую на экране рабочей станции на диск этой станции, если работа идет по терминалу, а сервер в другом домене. И возможно ли отправить эту распечатку сразу из 1С по эл.почте. Может есть какие-то dl...
Вопрос № 74703: Здравствуйте! Может быть у кого-нибудь было такое же задание поделитесь. Необходимо сделать так, чтобы без участия пользователя, в определенное время суток, формировался отчет и сохранялся в определенной папке в формате EХCEL. ...
Вопрос № 74753: Здравствуйте, уважаемые господа эксперты!!! недавно нашел 27 релиз 1с 7.7. До этого у меня стоял 25 релиз. Вопрос такой: что будет, если я себе установлю 27 релиз, а у клиента стоит 25. Могут ли быть проблемы из за версий, ведь в каждом р...
Вопрос № 74812: Уважаемые эксперты! Вопрос по 1С 8.0. Я пишу сама системку на 1С. У меня есть документ "ПоставкиГрузов" . Этот документ имеет табличную часть "Контейнера" где есть реквизит - Номер контейнера с типом Строка(15). Как в спи...
Вопрос № 74839: Уважаемые эксперты! Не подсткажете, можно ли в 1с8 динамически формировать/менять меню и как это сделать. Причем, как пункты общего меню, так и меню кнопки или командной панели....
Вопрос № 74840: Здравствуйте, уважаемые эксперты! Есть справочник "Контрагенты" и подчиненный ему справочник "Договора". При вводе табличной части документа необходимо ввести и контрагента и договор. Как сделать, чтобы при вводе договора откр...

Вопрос № 74.676
Здравствуйте, подскажите пожалуйста, как из подчиненного справочника получить дату поступления материала, если я выбираю материал из справочника Владелец, в чем моя ошибка?

Приложение:

Отправлен: 08.02.2007, 01:05
Вопрос задал: Ефросинья (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Palkin
Здравствуйте, Ефросинья!
Во-первых вот здесь: ДатаПоступления=СпрИсп.текущийЭлемент().датаПоступления "текущийЭлемент()" - это лишнее, во-вторых если реквизит ДатаПоступления периодический, то нужно вот так: ДатаПоступления=СпрИсп.датаПоступления.Получить(<Дата>)
Ответ отправил: Palkin (статус: 3-ий класс)
Ответ отправлен: 08.02.2007, 06:54

Отвечает: BigHard
Здравствуйте, Ефросинья!
Код у Вас правильный, ваша переменная датапоступления действительно равна СпрИсп.текущийЭлемент().датаПоступления;
используйте эту переменную дальше, как хотите, простейший вариант
Сообщить(Датапоступления);
Можете немного переделать код, присвойте текущий элемент какой нибудь переменной, так работать удобнее.
И еще, не рекомендуется, хотя это и не ошибка, называть переменную также, как и атрибут справочника, к которому вы обращяетесь, назовите переменную как-нибудь иначе
А дальше - вам виднее.
См.приложение.

Приложение:

---------
Чем отличается чайник от программиста: У чайника в одном килобайте 1000 байт, а у программиста в одном километре 1024 метра

Ответ отправил: BigHard (статус: 2-ой класс)
Ответ отправлен: 08.02.2007, 07:00

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Ефросинья!
Ошибка у Вас в том, что в цикле
Пока СпрИсп.ПолучитьЭлемент()=1 Цикл
ДатаПоступления=СпрИсп.датаПоступления;
КонецЦикла;
подчиненные элементы идут не по порядку даты, а по алфавиту основного представления. Следовательно, после окончания цикла ДатаПоступления= данным из самого последнего элемента (по алфавиту), а не нужная Вам дата.
Ну и если Материал создан функцией СоздатьОбъект то нужно делать
СпрИсп.ИспользоватьВладельца(Материал.ТекущийЭлемент());
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 08.02.2007, 16:25


Вопрос № 74.696
Уважаемые эксперты, возникла такая ситуация:

Бухгалтерия хочет оформлять авансовые отчеты проводками Дт 10 - Кт 71. Но в конфигурации этот способ недоступен, нет такой проводки в числе корректных.
Если попытаться добавить, выводится сообщение "Счет 10.х не может быть использован при заполнении реквизита 'Корр. счет' поскольку его использование может привести к некорректной работе программы и вызовет расхождение оперативного и бухгалтерского учета!"
В общем, понятно почему, еще и в Интернете нашел немного информации по этой проблеме.
Раньше бухгалтерия делала это через 60 счет, но их это не устраивает, они хотят именно проводки 10-71 (с выводом в печатной форме).

Вопросы такие:
- каков объем работ, если надо реализовать эту возможность?
- если для таких случаев надо привлекать специалистов 1С, и вообще такая работа быстро не делается (1 человеком), где лучше получить грамотное обоснование этого?
- возможно, кто-нибудь уже работал с этим, что можно почитать (посмотреть) по проблеме?

Спасибо за любую информацию!

Приложение:

Отправлен: 08.02.2007, 06:48
Вопрос задал: Михеев Александр Владимирович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Яна
Здравствуйте, Михеев Александр Владимирович!
Если у Вас украинский план счетов, то
10 - Основные средства
71 - Другой операционный доход

Основные средства не могут иметь ничего общего с операционным доходом, поэтому такая проводка некорректна с точки зрения бухгалтерского учета. Может быть бухгалтерам следует проконсультироваться на эту тему...
Ответ отправила: Яна (статус: 4-ый класс)
Ответ отправлен: 08.02.2007, 09:42
Оценка за ответ: 5
Комментарий оценки:
Нет, конечно, не украинский.

10 - Материалы
71 - Расчеты с подотчетными лицами

Оценка - все равно 5 за попытку помочь!

Отвечает: BuhCIA
Здравствуйте, Михеев Александр Владимирович!
Посмотрите (любой в качестве образца) проведенный документ "Поступление материалов", какие он создает проводки - и увидите, каких нехватит для налогового учета, если делать прямо Дебет 10 Кредит 71.
Выхода два:
- переубедить бухгалтеров;
- изменить модуль документа АвансовыйОтчет, чтобы создавались все проводки и не выдавалось ошибки.
Выбор, как всегда, за Вами.
---------
Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Профессионал)
Россия, Москва
Организация: Бухгалтерия Центрального Исполнительного Аппарата (фирмы с филиалами) = БухЦИА
WWW: http://buhcia.narod.ru
----
Ответ отправлен: 12.02.2007, 23:48


Вопрос № 74.699
Подскажите. 1С 7.7. Как сохранить печатную форму, открытую на экране рабочей станции на диск этой станции, если работа идет по терминалу, а сервер в другом домене. И возможно ли отправить эту распечатку сразу из 1С по эл.почте. Может есть какие-то dll
Отправлен: 08.02.2007, 07:18
Вопрос задал: SAIISA (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зайцев Александр
Здравствуйте, SAIISA!
Для сохранения таблицы или текста из терминала вам надо настроить подключение дисков клиента:
1. Если на сервере разрешено использование настроек клиента, то в приложении подключение к удаленному рабочему столу на закладке Локальные ресурсы поставьте галочку около пункта Дисковые устройства
2. Если на сервере запрещено использование настроек клиента, то на сервере в свойствах пользователя на закладке Среда поставьте галочку Подключение дисков клиента при входе или в Настройке служб терминалов в свойствах подключения RDP на закладке Параметры клиента настройте секцию Подключения
3. Если сервер и ваш компьютер находятся в одной сети, то можете расшарить какую-нибудь папку и сохранять по сети (Пример \MyComp1c)
Для отправки таблиц по электронной почте имеется библиотека v7plus.dll или ROM-Mail.dll, если вам требуются библиотеки с описанием - стучите в личку или в ICQ
Ответ отправил: Зайцев Александр (статус: Студент)
Ответ отправлен: 08.02.2007, 07:37

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, SAIISA!
1. Расшарьте папке в рабочей станции, и сохраняйте из терминала в сетевое окружение прямо на расшаренную папку своей рабочей станции
2. Расшарьте папку на терминале, назовите ее ДляНарода и сохраняйте в эту папку, потом проводником либо ТоталКоммандером копируйте из расшаренной папки на локальный компьютер
3. В свойствах Подключения терминала (на локальном компьютере и на свойствах пользователя на сервере) поставьте птичку "Подключать диски" и сохраняйте на подключенный диск. Он называется както хитро, не помню как, увидите
4. Через ОЛЕ можно отправлять почту используя Микрософт Оутлук из оффисного пакета (не Експресс). Почитайте архив рассылки, там есть эти темы. Письмо ложится в папку исходящие и отправляется при интерактивном запуске Оутлука

Рекоммендую вариант 1,2
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 08.02.2007, 16:12


Вопрос № 74.703
Здравствуйте!
Может быть у кого-нибудь было такое же задание поделитесь. Необходимо сделать так, чтобы без участия пользователя, в определенное время суток, формировался отчет и сохранялся в определенной папке в формате EХCEL.
Отправлен: 08.02.2007, 08:05
Вопрос задала: Elevit (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Зайцев Александр
Здравствуйте, Elevit!
С конкретно таким заданием не сталкивался, но могу посоветовать сделать так:
в Планировщике задач создать задание, которое будет запускать 1с под определенным пользователем (пр. Автоотчет), в глобальном модуле в процедуре ПриНачалеРаботыСистемы прописать проверку Если Пользователь=Автоотчет Тогда процедураФормированияОтчета();
В конце процедуры формирования отчета вместо <ИмяТаблицы>.Показать добавьте строку <ИмяТаблицы>.Записать(<путь и имя файла для записи>, 1);
не забудьте добавить ЗавершитьРаботуСистемы(); иначе 1с не закроется. Если что-то хотите уточнить - обращайтесь в личку или ICQ - помогу.
Ответ отправил: Зайцев Александр (статус: Студент)
Ответ отправлен: 08.02.2007, 08:19
Оценка за ответ: 4

Отвечает: Palkin
Здравствуйте, Elevit!
Создайте в глобальном модуле процедру формирования Вашего отчета и записи его на диск с помощью метода таблицы Записать(<?>,);
Синтаксис:
Записать(<ИмяФайла>,<ТипФайла>)
Назначение:
Записать таблицу в файл.
Параметры:
<ИмяФайла> - имя файла.
<ТипФайла> - необязательный параметр. Числовое или строковое выражение, определяющее тип файла:
· отсутствует, 0 или ''MXL'' - формат 1C;
· 1 или ''XLS'' - формат Ms Excel;
· 2 или ''HTM'' или ''HTML'' - формат HTML;
· 3 или ''TXT'' - формат TXT.
Замечание:
Метод может использоваться при работе с таблицей в режиме ввода данных.

В процедуру глобального модуля ПриНачалеРаботыСистемы допишите вызов Вашей процедуры с помощью функции ОбработкаОжидания(<?>,)
Синтаксис:
ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>)
Назначение:
Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени.
Возвращает имя процедуры глобального модуля, которая назначена для периодического запуска (на момент до исполнения процедуры).
Параметры:
<ИмяПроцедуры> - необязательный параметр. Строковое выражение - имя процедуры глобального модуля, которая будет вызываться периодически с временным интервалом <ИнтервалВызова>. Тело процедуры <ИмяПроцедуры> должно быть написано разработчиком конфигурации в глобальном программном модуле. Если в качестве параметра передается 'пустая строка', то ранее запущенный процесс прекращается.
<ИнтервалВызова> - необязательный параметр. Числовое выражение - интервал времени в секундах, с которым периодически будет вызываться процедура глобального модуля <ИмяПроцедуры>. Если в качестве параметра передается 0 (ноль), то ранее запущенный процесс прекращается.
Ответ отправил: Palkin (статус: 3-ий класс)
Ответ отправлен: 08.02.2007, 08:27
Оценка за ответ: 4

Отвечает: BigHard
Здравствуйте, Elevit!
Делаете следующим образом:
Создаете процедуру в глобальном модуле(назовем ее, например, Создатьотчет), которая будет создавать ваш отчет, а в самом конце (обязательно в самом конце) глобального модуля пишите строки
ОбработкаОжидания("Создатьотчет",1);
В процедуре Создатьотчет проверяете, равно ли текущее время нужному. Если равно, то формируете отчет. Удачи.

Приложение:

---------
Чем отличается чайник от программиста: У чайника в одном килобайте 1000 байт, а у программиста в одном километре 1024 метра

Ответ отправил: BigHard (статус: 2-ой класс)
Ответ отправлен: 08.02.2007, 08:43
Оценка за ответ: 5

Отвечает: Яна
Здравствуйте, Elevit!
Если в это определенное время хотя бы одна сессия 1С включена, то можно воспользоваться ОбработчикомОжидания. Подробнее можно посмотреть синтакс-помощник процедуру ПодключитьОбработчикОжидания
Ответ отправила: Яна (статус: 4-ый класс)
Ответ отправлен: 08.02.2007, 09:34
Оценка за ответ: 4

Отвечает: Arkadiy Karanskiy
Здравствуйте, Elevit!
Здравствуйте, Elevit!
Это сделать просто.
Таб = СоздатьОбъект("Таблица");
Таб.Открыть("tabl_l.mxl");
Таб.Записать("tabl_2.mxl");
Таб.Записать("tabl_2", "XLS");
Ответ отправил: Arkadiy Karanskiy (статус: 7-ой класс)
Ответ отправлен: 08.02.2007, 14:02


Вопрос № 74.753
Здравствуйте, уважаемые господа эксперты!!!
недавно нашел 27 релиз 1с 7.7.
До этого у меня стоял 25 релиз.
Вопрос такой: что будет, если я себе установлю 27 релиз, а у клиента стоит 25. Могут ли быть проблемы из за версий, ведь в каждом релизе что-то добавляется, например при переходе с 18 на 25 релиз я заметил что в 25 можно поворачивать данные в таблицах (менять ориентацию букв) ???
Отправлен: 08.02.2007, 11:52
Вопрос задал: BigHard (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Яна
Здравствуйте, BigHard!
Поставьте клиенту тоже 27 релиз.
Ответ отправила: Яна (статус: 4-ый класс)
Ответ отправлен: 08.02.2007, 12:02
Оценка за ответ: 2
Комментарий оценки:
По-моему, я спрашивал совсем другое......
А спрашивал я, что будет, если.....Читайте вопрос внимательнее.

Отвечает: ATan
Здравствуйте, BigHard!
Да ничего не будет, если ты поставшь себе 27 релиз, осбо принципиальных отличий в нем нет. Единственный момент что последняя регламентированная
отчетность как правило рассчитана именно на последнии версии движка.
Так вот при обращении к возможностям которые не присутвуют в 25 1С
у тебя просто аварийно вылетит и все. Так что разработка на 27 движке
для клиента у которго 27 - это занятие на твой страх и риск.
Удачи.
Ответ отправил: ATan (статус: 2-ой класс)
Ответ отправлен: 08.02.2007, 16:12
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо за полный и развернутый ответ!!! Буду знать!!!

Отвечает: Ovr1970
Здравствуйте, BigHard!
Можно так делать и почти все будет работать, кроме нововведений (которых ты не знаешь, а значит и не воспользуешся).
Но возможны исправления ошибок. Например может по другому отрабатывать функция таблицы значений Сортировать(это просто пример) и при использовании этой функции у тебя будет сортировка строк отличатся, в зависимости от релиза. (Естественно имеются ввиду строки, с одинаковыми ключевыми значениями). А если это повлияет на алгоритм, то получится трудно уловимая ошибка, которую нельзя исправить у себя.
Этот пример - то, что произошло со мной при переходе с 12 на 15 релизы
Ответ отправил: Ovr1970 (статус: Студент)
Ответ отправлен: 08.02.2007, 16:37
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо за полный и развернутый ответ!!! Буду знать!!!


Вопрос № 74.812
Уважаемые эксперты!
Вопрос по 1С 8.0.
Я пишу сама системку на 1С. У меня есть документ "ПоставкиГрузов" . Этот документ имеет табличную часть "Контейнера" где есть реквизит - Номер контейнера с типом Строка(15). Как в списке поставок сделать отбор с номером контейнера,ну например,"TRLU 130566" и посложнее- всех поставок ,у которых есть контейнера,начинающиеся "TRLU" .
Помогите пожалуйста. Заранее спасибо.
Отправлен: 08.02.2007, 17:38
Вопрос задала: viko (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Tek
Здравствуйте, viko!
Предлагаю 2 варианта:
1. Использовать объект конфигурации КритерийОтбора (группа "общие")
2. В списке поставок для Табличного поля использовать не объект ДокументСписок, а Таблицу значений, в которую делать выборку запросом и при необходимости обрабатывать выбор/редактирование/добавление/удаление строки вручную.
---------
WinApi - жутко неудобные костыли, MFC и VCL - немногим полезнее, но ничего лучше еще не создано (C)Почти Уинстон Черчилль :)
Ответ отправил: Tek (статус: 9-ый класс)
Ответ отправлен: 08.02.2007, 17:45

Отвечает: Яна
Здравствуйте, viko!
Только с помощью запроса
Таблица - табличная часть документа, выбрать различные Ссылка (на сам документ), что реквизит соответствует условию. А можно даже не ссылку на документ, а номера документов. а потом установить свойство отбор у списка документов:
Отбор.Номер.Использование=Истина;
Отбор.Номер.ВидСравнения=ВидСравнения.ВСписке;
Отбор.Номер.Значение=СписокНомеров;
где список номеров - массив номеров документов (т.е. ссылка.номер в запросе), удолетворяющих требуемому условию.
Если уточните условия и структуру документов, напишу запрос подробнее.
Ответ отправила: Яна (статус: 4-ый класс)
Ответ отправлен: 08.02.2007, 17:49


Вопрос № 74.839
Уважаемые эксперты! Не подсткажете, можно ли в 1с8 динамически формировать/менять меню и как это сделать. Причем, как пункты общего меню, так и меню кнопки или командной панели.
Отправлен: 08.02.2007, 20:51
Вопрос задал: Шутяев Игорь (статус: 3-ий класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Яна
Здравствуйте, Шутяев Игорь!
Можно воспользоваться свойством видимость. Добавлять/удалять вряд ли получится, а вот показывать и прятать - можно
Ответ отправила: Яна (статус: 4-ый класс)
Ответ отправлен: 08.02.2007, 21:16

Отвечает: Tek
Здравствуйте, Шутяев Игорь!
Насчет главного меню - штатными средствами нельзя.
В командной панели - у этого объекта есть свойство Кнопки (Тип КнопкиКоманднойПанели) - вот он и позволяет все это делать, только стандартные удалять нельзя. Ижелательно убрать галочку у Командной панели - "Автозаполнение"
У кнопки и того проще - формируете СписокЗначений и используете метод формы ВыбратьИзМеню или ВыюратьИзСписка
а подробностями в Синтаксис-Помошник
---------
WinApi - жутко неудобные костыли, MFC и VCL - немногим полезнее, но ничего лучше еще не создано (C)Почти Уинстон Черчилль :)
Ответ отправил: Tek (статус: 9-ый класс)
Ответ отправлен: 09.02.2007, 09:05


Вопрос № 74.840
Здравствуйте, уважаемые эксперты!
Есть справочник "Контрагенты" и подчиненный ему справочник "Договора". При вводе табличной части документа необходимо ввести и контрагента и договор. Как сделать, чтобы при вводе договора открывалось сразу окно выбора договора, а не требовалось выбрать сначала контрагента (которого мы уже ввели в предыдущей колонке), а потом договор?
Предложите хоть какие-нибудь варианты решения проблемы :)
Заранее спасибо.

P.S. Если нужны уточнения - на мини-форум.
Отправлен: 08.02.2007, 20:53
Вопрос задал: KulMaks (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Яна
Здравствуйте, KulMaks!
установить связь по владельцу между колонками
Ответ отправила: Яна (статус: 4-ый класс)
Ответ отправлен: 08.02.2007, 21:10
Оценка за ответ: 3

Отвечает: Palkin
Здравствуйте, KulMaks!
Попробуйте в предопределенную процедуру модуля формы ПриНачалеВыбораЗначения внести строку типа Договор.ИспользоватьВладельца(Контрагент)
Ответ отправил: Palkin (статус: 3-ий класс)
Ответ отправлен: 09.02.2007, 05:54
Оценка за ответ: 5


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

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

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

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

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


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


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

В избранное