Вопрос № 60781: Здравствуйте! 1С 7.7 Комплекс
На счете 90.1, 90.2 и т.д. ведется аналитические учет в разрезе видов номенклатуры: товар, продукция, полуфабрикат, услуга, работа, посредн. услуга, услуга (ЕНВД), материал. Это все стандартно, так и бы ло по умолчан...Вопрос № 60808: Здраствуйте уважаемые эксперты 1С! Извините, если вопрос покажется глупым. Как мне отформатировать параметр, чтобы цена в печатной форме выводилась в виде: 15,00.
..Вопрос № 60887: Здравствуйте.
головоломка такая: 1с7.7
работает
ЗапуститьПриложение("Winword.exe");
работает
ЗапуститьПриложение("notepad.exe c: empmoe.rtf");
не работает
ЗапуститьПриложение("Win...Вопрос № 60889: Вопрос для опытного программиста простой, но не для меня :-)
Вопрос:
1. программно создать папку в справочнике «Контрагенты», проверить на наличие этой папки
2. импортировать из dbf файла данные в созданную папку, при импорте проверить н...Вопрос № 60891: Глубокоуважаемые господа эксперты!
Надо перенести (версия 7.7) из конфигурации "Бухгалтерия" в конф. "ТиС" справочники "Контрагенты" (и подчинённые "Договоры" и "Расчётные счета") и "Номенкла...
Вопрос № 60.781
Здравствуйте! 1С 7.7 Комплекс
На счете 90.1, 90.2 и т.д. ведется аналитические учет в разрезе видов номенклатуры: товар, продукция, полуфабрикат, услуга, работа, посредн. услуга, услуга (ЕНВД), материал. Это все стандартно, так и бы ло по умолчанию в конфигурации. Мне же нужно добавить свои виды, допустим 5 видов услуг. Как это сделать? Если прямо добавить в виды номенклатуры, в виды долга, то приходится многое переделывать в модулях программы, а если будет обновление, то ведь это надо все заново перелопатить. Как быть?
Вариант (оцените его):
Добавить в табличную часть документа (допустим реализация ТМЦ), реквизит "ВидН", сделать его невидимым, при выборе номенклатуры (по номенклатуре можно определить какого вида услуга) заполнять данный реквизит. В справочнике проводок, указать чтобы в качестве субконто бралось значение данного реквизита. Должно работать. НО!!! Как себя поведет документ "Закрытие месяца"????
Отправлен: 31.10.2006, 15:13
Вопрос задал: Munster (статус: 5-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Зайцев Александр
Здравствуйте, Munster!
Тем что вы добавите в табличную часть еще один реквизит смысла нет. поскольку вид услуг и так можно определить как Номенклатура.ВидНоменклатуры.
Насколько я помню счета 90.1, 90.2 и т.д. в качестве субконто берут значение из перечисления ВидыНоменклатур, так что если в добавите в перечисление ваши виды услуг, проводки будут вестись соответственно в разрезе субконто ВидНоменклатуры с значением выших видов услуг (ес-но надо в номенклатуре указывать в качестве ВидНоменклатуры ваш вид услуг, который вы добавите в перечисление)
Ответ отправил: Зайцев Александр (статус: 8-ой класс)
Ответ отправлен: 01.11.2006, 07:14 Оценка за ответ: 4 Комментарий оценки: Дело как раз в том что значением субконто на 90-х счетах является перечисление ТипыНоменклатуры, а не ВидыНоменклатуры, это два разных перечисления, у элементов справочника Номенклатура указывается ВидНоменклатуры.
Вопрос № 60.808
Здраствуйте уважаемые эксперты 1С! Извините, если вопрос покажется глупым. Как мне отформатировать параметр, чтобы цена в печатной форме выводилась в виде: 15,00.
Отправлен: 31.10.2006, 20:18
Вопрос задал: Darina (статус: Посетитель)
Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Elric
Здравствуйте, Darina!
Если именно с запятой-разделителем, то
Цена #Ч.2,
(либо #Ч19.2, если известно что итоговая строка будет 19 символов)
Если же устраивает вариант с дробной точкой, то можно без замыкающей запятой
Цена #Ч.2
Более подробно можно посмотреть в описании системной функции Формат()
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 31.10.2006, 21:23 Оценка за ответ: 5 Комментарий оценки: Спасибо! Да! бывает и такое... вчера пробовала Цена #Ч.2, не получалось, а сегодня всё ОК! Извините...
Отвечает: Зайцев Александр
Здравствуйте, Darina!
Формат(<?>,)
Синтаксис:
Формат(<Параметр>,<Форматная_строка>)
Назначение:
Возвращает строку с результатом форматирования выражения по заданной форматной строке.
Параметры:
<Параметр> - форматируемое выражение,
<Форматная_строка> - форматная строка.
Форматная строка имеет вид:
для чисел - 'Nm.n<разделитель дробной><разделитель триад>' (в русском регистре вместо N - Ч);
для денежных величин - 'NSMH' (в русском регистре - 'ЧПДС');
для строк - 'Sn' (в русском регистре - 'Сn');
для дат - 'DПодстрокаФормата' (в русском регистре вместо D - Д), где
ПодстрокаФормата может быть вида:
DDMMYY (ДДММГГ), дата в виде - ДД.ММ.ГГ;
DDMMYYYY (ДДММГГГГ), дата в виде - ДД.ММ.ГГГГ;
DDMMMMYYYY (ДДММММГГГГ), дата в виде - ДД месяц прописью ГГГГ;
(0)DDMMMMYYYY ((0)ДДММММГГГГ) этот формат представляет собой вариант предыдущего формата с тем отличием, что число месяца всегда выводится двумя цифрами, т.е. для чисел меньших 10 спереди будет добавлен 0. Например: Формат('01.01.1999', ''Д (0)ДДММММГГГГ'') = 01 Января 1999 г.
MMMMYYYY (ММММГГГГ), дата в виде - месяц прописью ГГГГ;
MMMMYY (ММММГГ), дата в виде - месяц прописью ГГ;
QQQQYYYY (ККККГГГГ), дата в виде - N квартал ГГГГ;
QQQQYY (ККККГГ), дата в виде - N квартал ГГ;
YYYYMMDD (ГГГГММДД), дата в виде ГГГГММДД, то есть дата '10.11.1998' будет представлена как строка ''19981110'';
WWWW (НННН), выводит наименование дня недели, соответсвующее указанной дате. Наименования дней недели берутся из файла прописи.
Замечание:
Для чисел: наличие ''0'' перед длиной поля подавляет отображение нулевых значений (выводится пустая строка). Пример: ''Ч015.2'';
Символ ''-'' перед длиной поля означает, что нулевые значения при выводе будут отображаться прочерком. Пример: ''Ч-17.2''.;
Если форматная строка заканчивается символами >X, происходит сдвиг отображаемых разрядов на X позиций.
Если в форматной строке указано ''(0)'', то данная последовательность символов должна быть первой в формате и предшествовать всем прочим спецификациям. При задании такой спецификации все позиции в поле вывода числа, соответствующие незадействованным старшим разрядам, будут заполнены символами ''0''. Например: Формат(123.15, ''Ч (0)10.2'') = 0000123.15;
Подробнее см. в документации, глава 'Системные процедуры и функции'
Ответ отправил: Зайцев Александр (статус: 8-ой класс)
Ответ отправлен: 01.11.2006, 07:18 Оценка за ответ: 4 Комментарий оценки: Легко скопировать из документации (которая у меня тоже есть), а ответить просто...
Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, Darina!
Вот полное описание:
Формат(<?>,)
Синтаксис:
Формат(<Параметр>,<Форматная_строка>)
Назначение:
Возвращает строку с результатом форматирования выражения по заданной форматной строке.
Параметры:
<Параметр> - форматируемое выражение,
<Форматная_строка> - форматная строка.
Форматная строка имеет вид:
для чисел - 'Nm.n<разделитель дробной><разделитель триад>' (в русском регистре вместо N - Ч);
для денежных величин - 'NSMH' (в русском регистре - 'ЧПДС');
для строк - 'Sn' (в русском регистре - 'Сn');
для дат - 'DПодстрокаФормата' (в русском регистре вместо D - Д), где
ПодстрокаФормата может быть вида:
DDMMYY (ДДММГГ), дата в виде - ДД.ММ.ГГ;
DDMMYYYY (ДДММГГГГ), дата в виде - ДД.ММ.ГГГГ;
DDMMMMYYYY (ДДММММГГГГ), дата в виде - ДД месяц прописью ГГГГ;
(0)DDMMMMYYYY ((0)ДДММММГГГГ) этот формат представляет собой вариант предыдущего формата с тем отличием, что число месяца всегда выводится двумя цифрами, т.е. для чисел меньших 10 спереди будет добавлен 0. Например: Формат('01.01.1999', ''Д (0)ДДММММГГГГ'') = 01 Января 1999 г.
MMMMYYYY (ММММГГГГ), дата в виде - месяц прописью ГГГГ;
MMMMYY (ММММГГ), дата в виде - месяц прописью ГГ;
QQQQYYYY (ККККГГГГ), дата в виде - N квартал ГГГГ;
QQQQYY (ККККГГ), дата в виде - N квартал ГГ;
YYYYMMDD (ГГГГММДД), дата в виде ГГГГММДД, то есть дата '10.11.1998' будет представлена как строка ''19981110'';
WWWW (НННН), выводит наименование дня недели, соответсвующее указанной дате. Наименования дней недели берутся из файла прописи.
Замечание:
Для чисел: наличие ''0'' перед длиной поля подавляет отображение нулевых значений (выводится пустая строка). Пример: ''Ч015.2'';
Символ ''-'' перед длиной поля означает, что нулевые значения при выводе будут отображаться прочерком. Пример: ''Ч-17.2''.;
Если форматная строка заканчивается символами >X, происходит сдвиг отображаемых разрядов на X позиций.
Если в форматной строке указано ''(0)'', то данная последовательность символов должна быть первой в формате и предшествовать всем прочим спецификациям. При задании такой спецификации все позиции в поле вывода числа, соответствующие незадействованным старшим разрядам, будут заполнены символами ''0''. Например: Формат(123.15, ''Ч (0)10.2'') = 0000123.15;
Отвечает: ATan
Здравствуйте, Darina!
Если ты выводишь число непосредственно в ячейку таблицы, именно число, то в поле дописывай после числа формат #Ч15.2, первое число - это количество знаков всего, второе точность. Если ли же ты формируешь выражение в теле программы до вывода в таблицу
а его уже целиком всталяешь то надо использовать функцию формат(Сумма,"Ч15.2").
Примеры:
Первый случай - Сумма#Ч15.2(формула ячейки в таблице).
Второй случай - СокрЛП(Формат(Сумма,"Ч15.2")).
Удачи.
Ответ отправил: ATan (статус: 1-ый класс)
Ответ отправлен: 01.11.2006, 08:37
Отвечает: Сергей
Здравствуйте, Darina!
В синаткс-помощнике про это очень подробно написано:
Формат(<?>,)
Синтаксис:
Формат(<Параметр>,<Форматная_строка>)
Назначение:
Возвращает строку с результатом форматирования выражения по заданной форматной строке.
Параметры:
<Параметр> - форматируемое выражение,
<Форматная_строка> - форматная строка.
Форматная строка имеет вид:
для чисел - 'Nm.n<разделитель дробной><разделитель триад>' (в русском регистре вместо N - Ч);
для денежных величин - 'NSMH' (в русском регистре - 'ЧПДС');
для строк - 'Sn' (в русском регистре - 'Сn');
для дат - 'DПодстрокаФормата' (в русском регистре вместо D - Д), где
ПодстрокаФормата может быть вида:
DDMMYY (ДДММГГ), дата в виде - ДД.ММ.ГГ;
DDMMYYYY (ДДММГГГГ), дата в виде - ДД.ММ.ГГГГ;
DDMMMMYYYY (ДДММММГГГГ), дата в виде - ДД месяц прописью ГГГГ;
(0)DDMMMMYYYY ((0)ДДММММГГГГ) этот формат представляет собой вариант предыдущего формата с тем отличием, что число месяца всегда выводится двумя цифрами, т.е. для чисел меньших 10 спереди будет добавлен 0. Например: Формат('01.01.1999', ''Д (0)ДДММММГГГГ'') = 01 Января 1999 г.
MMMMYYYY (ММММГГГГ), дата в виде - месяц прописью ГГГГ;
MMMMYY (ММММГГ), дата в виде - месяц прописью ГГ;
QQQQYYYY (ККККГГГГ), дата в виде - N квартал ГГГГ;
QQQQYY (ККККГГ), дата в виде - N квартал ГГ;
YYYYMMDD (ГГГГММДД), дата в виде ГГГГММДД, то есть дата '10.11.1998' будет представлена как строка ''19981110'';
WWWW (НННН), выводит наименование дня недели, соответсвующее указанной дате. Наименования дней недели берутся из файла прописи.
Замечание:
Для чисел: наличие ''0'' перед длиной поля подавляет отображение нулевых значений (выводится пустая строка). Пример: ''Ч015.2'';
Символ ''-'' перед длиной поля означает, что нулевые значения при выводе будут отображаться прочерком. Пример: ''Ч-17.2''.;
Если форматная строка заканчивается символами >X, происходит сдвиг отображаемых разрядов на X позиций.
Если в форматной строке указано ''(0)'', то данная последовательность символов должна быть первой в формате и предшествовать всем прочим спецификациям. При задании такой спецификации все позиции в поле вывода числа, соответствующие незадействованным старшим разрядам, будут заполнены символами ''0''. Например: Формат(123.15, ''Ч (0)10.2'') = 0000123.15;
Подробнее см. в документации, глава 'Системные процедуры и функции'
Ответ отправил: Сергей (статус: 8-ой класс)
Ответ отправлен: 01.11.2006, 08:58
Отвечает: Шутяев Игорь
Здравствуйте, Darina!
В 77
Формат(ВашеЧисло,"Ч12.2, .")
Здесь Ч - числовой (формат)
12 - общая длина поля
2 - число десятичных цифр
, - знак отделеняия дробной части
В конце советую ставить пробел и любой символ (у меня точка), при этом триады (тысячи) будут разделяться пробелом: 12 200,22
Ответ отправил: Шутяев Игорь (статус: 3-ий класс)
Ответ отправлен: 01.11.2006, 09:03 Оценка за ответ: 5 Комментарий оценки: Спасибо! Всё было понятно, но почему не получалось :-)
Вопрос № 60.887
Здравствуйте.
головоломка такая: 1с7.7
работает
ЗапуститьПриложение("Winword.exe");
работает
ЗапуститьПриложение("notepad.exe c: empmoe.rtf");
не работает
ЗапуститьПриложение("Winword.exe c: empmoe.rtf");
как запустить word с файлом и как определить в 1с что он закрыт,когда он будет закрыт
Отправлен: 01.11.2006, 11:56
Вопрос задал: Olov11 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Elric
Здравствуйте, Olov11!
Как вариант, можно указать не "Winword.exe c: empmoe.rtf", а полный путь к файлу Winword.exe (у меня, например, "D:Program FilesMicrosoft OfficeOFFICE11WINWORD.EXE c: empmoe.rtf" работает безупречно)
Отследить закрытие ворда Вы при этом не сможете.
Второй вариант -- открыть документ как объект OLE
Ворд=СоздатьОбъект("Word.Application");
Ворд.visible=1;
Ворд.documents.Open("c:kvit.rtf");
Теперь им можно управлять (при желании) прямо из 1С
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 01.11.2006, 13:29
Вопрос № 60.889
Вопрос для опытного программиста простой, но не для меня :-)
Вопрос:
1. программно создать папку в справочнике «Контрагенты», проверить на наличие этой папки
2. импортировать из dbf файла данные в созданную папку, при импорте проверить на наличие аналогичной записи в папке
Отправлен: 01.11.2006, 12:17
Вопрос задал: Erik (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Зайцев Александр
Здравствуйте, Erik!
1.
спр = создатьОбъект("Справочник.Контрагенты");
если спр.НайтиЭлемент(<данные для проверки>) = 0 тогда
спр.НоваяГруппа();
спр.Наименование = ...
...
спр.записать;
конецесли;
...
2. Подключает XBase и импортируете данные
dbf = создатьОбъект("XBase");
...
спр.использоватьродителя(<СозданнаяГруппа>);
если (спр.НайтиЭлемент(<Полученный из базы данных объект>) = 0) или (спр.Родитель = (<СозданнаяГруппа>)) тогда
спр.новый
и т.д.
Примерно так
Ответ отправил: Зайцев Александр (статус: 8-ой класс)
Ответ отправлен: 01.11.2006, 12:51
Отвечает: Elric
Здравствуйте, Erik!
Дополню ответ от Зайцева Александра.
Нужно сначала определиться, каким образом Вы будете идентифицировать группы и элементы справочника Контрагенты. По коду, по наименованию, по значению какого-то специального реквизита?
Если решили, что идентификация по коду, то проверяем сужествование элемента (или группы) справочника методом НайтиПоКоду(), а не НайтиЭлемент() как было предложено Зайцевым Александром. Если идентификация по наименованию -- применяем метод НайтиПоНаименованию(). Если по реквизиту -- соответственно НайтиПоРеквизиту().
Что касается того, как записать элемент в нужную группу, то это можно сделать двумя способами.
1. При создании элемента (после вызова метода Новый()) просто присвоить значение группы атрибуту Родитель. Например,
Спр.Родитель=Группа;
2. Перед созданием элемента (непосредственно до вызова метода Новый()) вызвать метод ИспользоватьРодителя(). Например,
Спр. ИспользоватьРодителя(Группа);
Спр.Новый();
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 01.11.2006, 13:39
Вопрос № 60.891
Глубокоуважаемые господа эксперты!
Надо перенести (версия 7.7) из конфигурации "Бухгалтерия" в конф. "ТиС" справочники "Контрагенты" (и подчинённые "Договоры" и "Расчётные счета") и "Номенклатура". Может, где есть готовые обработки?
Заранее спасибо.
Отвечает: Зайцев Александр
Здравствуйте, P_Tatarinov!
Есть универсальные обработки на
1c.proclub.ru
http://soft.mail.ru/program_page.php?grp=30518
http://noroof.bip.ru/prog/1c/UniDemo.zip
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=5077
На диске ИТС есть Tranref.ert
Ответ отправил: Зайцев Александр (статус: 8-ой класс)
Ответ отправлен: 01.11.2006, 12:57