Вопрос № 56168: Привет эксперты 1С! =)
Начинаю программировать на внутреннем языке 1Сv7.7
Передо мной такая задача, нужно вывести выручку по кассам, по проданным товарам со ставкой НДС 18% и 10%
т.е. в условие нужно добавить, если товар имеет ставку 18%,...Вопрос № 56170: Здравствуйте!!!
Вопрос такой:
Можно ли в 1с чтоб при вычитании значения типа "дата" получалось значение типа "дата", а то у меня число получается.
Например 12.09.06-11.02.04 получается 944 а мне надо чтоб было 01.07.02...Вопрос № 56188: Здравствуйте эксперты!
Вопрос такой:
форма списка справочника, рядом на форме таблица значений в которой хочется видеть элементы подчинённого данному справочника.
..Вопрос № 56194: Здравствуйте эксперты! В 1с 77 сетевая в глобальном модуле не работают одновременно две обработки ожидания. Переменные с интервалом времени запуска разные. Работает всегда только первая.
Может кто-то сталкивался с такой проблемой? ...Вопрос № 56201: При распечатке анализа счета из оборотно -сальдовой ведомости (1с, семерка) для каждого анализа счета требуется отдельный лист бумаги А4. Скажите пожалуйста, как добиться того, чтобы на одном таком листе печаталось, скажем, три анализа счета?...Вопрос № 56213: Здравствуйте! 1С 7.7 Комплекс
Сразу скажу, что никогда не работал в 1С с ОС. Мы купили компьютер, сделали документ Поступление ОС, ввели в эксплуатацию. Далле мы купили ОЗУ(к этому компьютеру),также сделали ПоступлениеОС. Нужно сделать так, чтобы...Вопрос № 56226: Есть внешний отчет по обработке документов, какие документы обрабатываються для нагладности помещаються в ПолеСоСписком.
Теперь задача стоит ипользовать поле со списком не просто для визуализации обрабатываемых документов, а для уточнения(выбора ...Вопрос № 56234: Здравствйте! В приложении приведена процедура которая делает запрос, а затем выводит в таблицу. Но таблица пустая, шапка и заголовок есть но не более. Смотрел в отладчике - цикл не обрабатывается, сразу Запрос.Группировка("Код")=0. Что не т...
Вопрос № 56.168
Привет эксперты 1С! =)
Начинаю программировать на внутреннем языке 1Сv7.7
Передо мной такая задача, нужно вывести выручку по кассам, по проданным товарам со ставкой НДС 18% и 10%
т.е. в условие нужно добавить, если товар имеет ставку 18%, то следует прибавить его сумму к переменной ПечРеал_Н,
я просто не знаю, как обратиться к товару через ТаблицуЗначений к НДС этого товара и сравнить его, равно ли оно 18 или 10
Отвечает: Ovr1970
Здравствуйте, Терсков Алексей Николаевич!
Вам в запрос нужно добавить реквизит товара, что - то типа
ТипНДС=Документ.ОтчетОПродажах.Товар.ТипНДС;
Группировка ТипНДС;
Тогда в результате запроса попадут отдельные результаты по группам товаров по каждому документу
Ответ отправил: Ovr1970 (статус: Студент)
Ответ отправлен: 21.09.2006, 19:09
Вопрос № 56.170
Здравствуйте!!!
Вопрос такой:
Можно ли в 1с чтоб при вычитании значения типа "дата" получалось значение типа "дата", а то у меня число получается.
Например 12.09.06-11.02.04 получается 944 а мне надо чтоб было 01.07.02
Отвечает: Elric
Здравствуйте, Гребиников Павел Генадьевич!
Нет, так нельзя.
Более того, приведенный Вами пример не имеет НИКАКОГО смысла.
Если Вам нужно отнять от даты несколько месяцев или лет, используйте функцию
ДобавитьМесяц(Дата,КвоМесяцев);
причем КвоМесяцев ставьте отрицательным
Если нужно отнять несколько дней -- просто отнимите это число от даты.
Например, чтобы из 12.09.06 получить 01.07.02, выражение должно выглядеть так:
НоваяДата = ДобавитьМесяц('12.09.06', -50) - 11;
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 21.09.2006, 09:43 Оценка за ответ: 4
Отвечает: ATan
Здравствуйте, Гребиников Павел Генадьевич!
В 1С при результат при вычитании значений типа Дата равен количеству дней между ними. Нужный вам результат можно получить скажем следущим образом:
Разница = Дата(Дата("01.12.1999") + (Дата("12.09.2006") - Дата("11.02.2004")));// = 02.07.02
Ответ отправил: ATan (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 10:02 Оценка за ответ: 3 Комментарий оценки: а как быть с Разница = Дата(Дата("01.12.1999") + (Дата("01.16.2006") - Дата("11.08.2004")));// = 19.10.02
Вопрос № 56.188
Здравствуйте эксперты!
Вопрос такой:
форма списка справочника, рядом на форме таблица значений в которой хочется видеть элементы подчинённого данному справочника.
Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Яров Максим Сергеевич!
Выбранный интерактивно элемент это ТекущийЭлемент()
Для вывода в ТЗ подчиненных элементов сначала очистим ТЗ
ТЗ.УдалитьСтроки()
Потом заполнить ее:
СпрП=СоздатьОбъект("Справочник.ПодчиненныйНамСправочник");
СпрП.ИспользоватьВладельца(ТекущийЭлемент());
СпрП.ВыбратьЭлементы();
Пока СпрП.ПолучитьЭлемент()=1 Цикл
ТЗ.НоваяСтрока();
ТЗ.Подч=СпрП.ТекущийЭлемент();
КонецЦикла
Инициировать эту процедуру можно так: положите на форму текстовое поле, в закладке Дополнительно напишите МояФункция()
А в модуле формы списка напишите
Функция МояФункция()
Заполнение ТЗ
Возврат "";
КонецФункции
Должно работать
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 21.09.2006, 10:54 Оценка за ответ: 5 Комментарий оценки: Никогда бы не подумал, что эту процедуру можно инициировать через текстовое поле. СПАСИБО!!!
Можно сделать так:
1. Пусть имя таблицы значений с подчиненными элементами будет ТЗПодч
2. Добавляем на форму списка справочника элемент диалога "Текст" и в его свойствах указываем "Сделать невидимым"
3. В формуле этого элемента диалога указываем имя функции, например: "ПоказатьПодчиненныеЭлементы(ТекущийЭлемент())"
4. После всех процедур и функци в конце модуля опишем структуры таблицы:
//**************************************************
ТЗПодч.НоваяКолонка("Имя_1");
// и т.д. т.е. опишем столько колонок, сколько хотим видеть
ТЗПодч.НоваяКолонка("Имя_N");
//**************************************************
5. в модуле опишем эту функцию:
//**************************************************
Функция ПоказатьПодчиненныеЭлементы(ТекЭлемент)
ТЗПодч.УдалитьСтроки();
Ответ отправил: Vizli (статус: 2-ой класс)
Ответ отправлен: 21.09.2006, 11:44
Отвечает: Гребиников Павел Генадьевич
Здравствуйте, Яров Максим Сергеевич!
Используйте метод "ИспользоватьВладельца"
Приложение:
--------- Плох тот юзер, который не мечтает стать админом...
Ответ отправил: Гребиников Павел Генадьевич (статус: 2-ой класс)
Ответ отправлен: 21.09.2006, 13:50 Оценка за ответ: 4
Вопрос № 56.194
Здравствуйте эксперты! В 1с 77 сетевая в глобальном модуле не работают одновременно две обработки ожидания. Переменные с интервалом времени запуска разные. Работает всегда только первая.
Может кто-то сталкивался с такой проблемой?
Отвечает: Inuki
Здравствуйте, Гайдашевский Александр Иванович!
Две и не будут работать.
Ответ отправил: Inuki (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 11:16 Оценка за ответ: 2
Отвечает: Manserg
Здравствуйте, Гайдашевский Александр Иванович!
Да, можно использовать только одну
Ответ отправил: Manserg (статус: 4-ый класс)
Ответ отправлен: 21.09.2006, 11:28 Оценка за ответ: 3 Комментарий оценки: Я понял что можно использовать одну. Но какой выход с положения если мне нужно их три???
Отвечает: ATan
Здравствуйте, Гайдашевский Александр Иванович!
Выбери какой-нибудь наименьший интервал, который был бы кратен интервалам нужным тебе и веди счетчик количества срабатываний процедуры, скажем если тебе надо 900 секунд то при срабатывании обработки ожидания, которую ты инициализировал с двадцатисекундным интервалом, 45 раз ты можешь выполнить задуманное. Удачи. Большего извини 1С не позволяет.
Приложение:
Ответ отправил: ATan (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 11:51 Оценка за ответ: 5
Отвечает: Vizli
Здравствуйте, Гайдашевский Александр Иванович!
Выход может быть такой:
1. Нужно выбрать НаименьшийИнтервалОпроса=20, (в вашем случае 20 сек.) а другие интервалы выбрать кратными ему, например 900, и т.д.
причем за 900 сек первая процедура должна выполниться 45 раз (20*45=900)
4. перепишем процедуру ОбработкаВсехСобытий()
//**************************************
Процедура ОбработкаВсехСобытий()
// начало работы, ОбработкаОжидания вызвана первый раз
Если СчетчикВыполнения=0 Тогда
// укажем, что было выполнено действие
СчетчикВыполнения=1;
// выполним первую процедуру
ОпросСостоянияСистемы();
// вторая и последующие процедуры тоже могут быть выполнены
Автозагрузка();
ИначеЕсли (СчетчикВыполнения < 45) И (СчетчикВыполнения > 0) Тогда
СчетчикВыполнения=СчетчикВыполнения+1;
// выполним первую процедуру
ОпросСостоянияСистемы();
ИначеЕсли СчетчикВыполнения = 45 Тогда
// сбросим счетчик
СчетчикВыполнения=1;
// выполним первую процедуру
ОпросСостоянияСистемы();
// вторая и последующие процедуры тоже могут быть выполнены
Автозагрузка();
КонецЕсли;
КонецПроцедуры
//**************************************
Ответ отправил: Vizli (статус: 2-ой класс)
Ответ отправлен: 21.09.2006, 12:18 Оценка за ответ: 5
Вопрос № 56.201
При распечатке анализа счета из оборотно -сальдовой ведомости (1с, семерка) для каждого анализа счета требуется отдельный лист бумаги А4. Скажите пожалуйста, как добиться того, чтобы на одном таком листе печаталось, скажем, три анализа счета?
Отправлен: 21.09.2006, 11:41
Вопрос задал: Aleksej (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Шальков Павел Владимирович
Здравствуйте, Aleksej!
Стандартными средствами никак. Придется писать свой отчетик.
Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Aleksej!
Сохраните в Эксель, и скомпонуйте как угодно.
Кроме того, АнализСчета это всего навсего отчет, написанный в конфигурации. Можете в нем поискать комманду НоваяСтраница() и удалить ее. Но боюсь, результат Вам не понравится.
Отвечает: vcv
Здравствуйте, Aleksej!
Сделайте отчет "Анализ счета по субконто"
Ответ отправил: vcv (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 13:56
Отвечает: Karanskiy Arkadiy
Здравствуйте, Aleksej!
Если я правильно понял вопрос, то вам скорей всего необходим Маштаб. Меню Файл - Параментры печати - и там выбрать в процентах маштаб.
Если надо программно следить за расспечатыванием, тогда посмотрите описание методов ПараметрыСтраницы(); и Опции();
Успехов...
Ответ отправил: Karanskiy Arkadiy (статус: 3-ий класс)
Ответ отправлен: 21.09.2006, 20:54
Вопрос № 56.213
Здравствуйте! 1С 7.7 Комплекс
Сразу скажу, что никогда не работал в 1С с ОС. Мы купили компьютер, сделали документ Поступление ОС, ввели в эксплуатацию. Далле мы купили ОЗУ(к этому компьютеру),также сделали ПоступлениеОС. Нужно сделать так, чтобы память была в составе ОС "Компьютер" и амортизация начислялась как на одно ОС. Может я и не правильно выразился, но думаю суть будет понятна. Как вот это все сделать?
Как вообще ведется учет ОС в 1С? Может есть какая-нибудь книжка, статья.... подскажите. Спасибо.
Отправлен: 21.09.2006, 13:15
Вопрос задал: Munster (статус: 3-ий класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: vcv
Здравствуйте, Munster!
Цитирую Консультант:
"14. Стоимость основных средств, в которой они приняты к бухгалтерскому учету, не подлежит изменению, кроме случаев, установленных законодательством Российской Федерации и настоящим Положением.
Изменение первоначальной стоимости основных средств, в которой они приняты к бухгалтерскому учету, допускается в случаях достройки, дооборудования, реконструкции, модернизации, частичной ликвидации и переоценки объектов основных средств.
(в ред. Приказа Минфина РФ от 18.05.2002 N 45н)"
Оно вам это надо? Модернизацию оформлять? Если надо, списывайте память на счет 08.3, потом делайте документ "Модернизация ОС".
Ответ отправил: vcv (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 13:54 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Вопрос № 56.226
Есть внешний отчет по обработке документов, какие документы обрабатываються для нагладности помещаються в ПолеСоСписком.
Теперь задача стоит ипользовать поле со списком не просто для визуализации обрабатываемых документов, а для уточнения(выбора определенных) обрабатываемых документов. Там есть поле Пометка, но как быть потом когда нужно создать обращение именно к тому документу который помечен в поле со списком для дальнейшей обработки данного документа....
Отправлен: 21.09.2006, 15:00
Вопрос задал: Romhik (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Gl0betrotter
Здравствуйте, Romhik!
// Вариант 1:
// С перебором всех документов, определением наличия вида документа в общем списке и определением стоит ли пометка для документа данного вида
Перем НомерПозиции;
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата_Начала_Периода,Дата_Окончания_Периода);
Пока Док.ПолучитьДокумент()>0 Цикл
НомерПозиции= СписокДокументовДляПометки.НайтиЗначение(Док.Вид());
Если НомерПозиции=0 Тогда
Продолжить;
Иначе
Если СписокДокументовДляПометки.Пометка(НомерПозиции)=0 Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
...
Здесь Ваши действия с документом, успешно прошедшим проверку
...
КонецЦикла;
//Вариант 2:
// С перебором общего списка, формирование списка из помеченных к обработке, перебором всех документов и сверкой вида документа с новым списком
Для НомерПозиции =1 По СписокДокументовДляПометки.РазмерСписка() Цикл
Если СписокДокументовДляПометки.Пометка(НомерПозиции)=1 Тогда
СписокОбрабатываемыхДокументов.ДобавитьЗначение(СписокДокументовДляПометки.ПолучитьЗначение(НомерПозиции));
КонецЕсли;
КонецЦикла;
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата_Начала_Периода,Дата_Окончания_Периода);
Пока Док.ПолучитьДокумент()>0 Цикл
НомерПозиции= СписокОбрабатываемыхДокументов.НайтиЗначение(Док.Вид());
Если НомерПозиции=0 Тогда
Продолжить;
КонецЕсли;
...
Здесь Ваши действия
...
КонецЦикла;
Удачи!
Ответ отправил: Gl0betrotter (статус: 6-ой класс)
Ответ отправлен: 21.09.2006, 16:06 Оценка за ответ: 4 Комментарий оценки: Спасибо за столь быстрый и развернутый ответ. Меня больше интересует скорее всего второй случай, сперва формируется список значений из документов при нажатие на "1" кнопку, потом из этого списка помечаються(выбираються) определенные документы, а потом при нажатие на "2" кнопку происходит обработка не всего списка документов из списка значений,
а только которые пометились в ручную. У меня не получаеться именно "2" часть этой обработки, перемолость весь список я могу, а вот чтобы только которые только что пометил, не получаеться, в лучшем случае обрабатываеться только первый Элемент списка значений.....
Отвечает: Elric
Здравствуйте, Romhik!
Есть такой метод списка:
Пометка()
Может использоваться для установки пометки, либо для считывания наличия пометки.
Например, команда:
Сообщить(Сп.Пометка(2));
сообщит 1 если пометка для второго элемента (документа) списка установлена, и 0 если не установлена.
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 22.09.2006, 02:05 Оценка за ответ: 3 Комментарий оценки: Ту уж конечно извини за превзятость, но это твердая тройка(ЗАЧЕТ). Но все равно спасибо за активность. Надо и с твоим ответом по экспериментировать, для расширения знаний в работе с ПолеСоСписком. Учись, Учись и ещё раз Учись. Спасибо тебе Elric.
Вопрос № 56.234
Здравствйте! В приложении приведена процедура которая делает запрос, а затем выводит в таблицу. Но таблица пустая, шапка и заголовок есть но не более. Смотрел в отладчике - цикл не обрабатывается, сразу Запрос.Группировка("Код")=0. Что не так?
Приложение:
Отправлен: 21.09.2006, 16:27
Вопрос задал: Munster (статус: 3-ий класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Warior
Здравствуйте, Munster!
Насколько я понял необходимо вывести в таблицу остатки для этого надо использовать функцию запроса "КонОст" (см. приложение), если нужны и обороты за период с/без начальным остатком нужно еще добавить функции НачОст,Приход и Расход.
Приложение:
Ответ отправил: Warior (статус: 4-ый класс)
Ответ отправлен: 21.09.2006, 16:44 Оценка за ответ: 5 Комментарий оценки: Спасибо. Сработало.