Добрый день Уважаемые Форумчане. Имеем ТИС 010 и стандартный отчет Остатки Товаров. Подскажите как сделать, что бы при формировании движения товаров на складах выводились итоги по каждой группе товара (начальный остаток, приход, расход, конечный остаток). Может в запросе надо что-то подправить? Мучаюсь уже вторую неделю Кто нибудь уже с таким сталкивался?Может завалялась готовая доработка этого отчетика? За любые советы заранее ОГРОМНОЕ СПАСИБО
Ну подчиненный справочник "Состав продукции" - Продукции перебираем и загоняем в таблицу значений на закладке каклькуляция. Если услуга разрешаем заполенние кнопка состав в ТМЦ. При записи сохраняем талицу. ПРи открытии восстанавливаем
Для сохранения ТЗ. Добавляем рекв. При записи
МойРекв =ЗначениеВСтрокуВнутр(МояТЗ);
При открытии
Если ПустоеЗначение(МойРекв )=0 Тогда Спис=СоздатьОбъект("СписокЗначений"); ЗначениеИзСтрокиВнутр(МойРекв ,Спис); Спис.Выгрузить(МояТЗ); КонецЕсли;
СчетПоКоду(<?>,) Синтаксис: СчетПоКоду(<КодСчета>,<ПланСчетов>) Назначение: Поиск бухгалтерского счета по коду. Возвращает значение типа ''Счет''. Параметры: <КодСчета> - строковое выражение, содержащее код счета. <ПланСчетов> - значение типа ''План Счетов'' - план счетов, в котором выполняется поиск. Если параметр не указан, поиск выполняется в основном плане счетов, заданном в метаданных.
Вчера позвонил бух и сказал, что у него беда, т.к. есть 1 документ (приходный), в котором НДС разбивается на 2 проводки: часть идет на 6441, часть на 6415. А надо, чтобы все шло на 6441.
Сегодня звонит другой бух и говорит, что часть проводок по НДС (по расходу) идет на счет 6441, а надо на 6415.
Хоть я в бухгалтерии и не особо шарю, но мне кажется, что это как-то связано с предоплатой? Я прав? Если кто может - объясните в нескольких словах.
Та они сами иногда не знают шо хотят
Например контрагент Новый предоплата 12000 Проводки БВ: Д 6415 НДС К 6441 НДС 2,000.00
Поставка ПН (запасы) в случае поставки на 12000 Проводки Д НДС 6441 К 631 Новый - 2000 .... в случае поставки на 15000 Д 6415 НДС К К 631 Новый - 1,000.00 Д НДС 6441 К 631 Новый - 2000
Привет! Конфа ПУБ (27 релиз, довольно измененный), документ РН (хотя это наверное неважно).
Надо сделать, чтобы пользователи не могли редактировать проведенный документ.
В справочнике пользователей сделал флажок флРазрешитьИЗмененятьПроведенныеРН.
Но это не работает. Мне кажется, что я как-то неправильно понимаю, как это реализовывается.
Буду признателен за помощь.
А что именно не работает? Проведение не происходит. При открытии проверяешь и Форма.ТолькоПросмотр(1) Тогда будет понятно. Ну и сообщение поставь какое нить
PS А вообще лучше призаписи() это реализовать с проверкой проведен() и посмотри как пример Процедура глПроверкаДатыДок(Конт,Режим = "Открытие") Экспорт
MATEVI, если через обработку, то получается, что нужно запустить её после закрытия документа (иначе нужно будет перепроводить). Как?
Сделай печать в журнале кнопку. И процедуру печати в обработке. И печатай не открывая. И еще спасибо скажут шо не надо в документ заходить каждый раз ТОлько еще придется им закрыть тогда печать из документа
Нет. И что теперь делать? Интуитивно понятно, что можно попробовать добавить для этого документ журнал, но будет ли это правильно?
А почему это должно быть неправильно? Сделай журнал и добавь интересующие тебя колонки. Либо пользуйся так как есть. Т.к. в в тот журнал который открывается у тебя ты ничего не добавишь...
Скачал один отчетик, написано что работает под ТиС однако при запуске выдал ошибку! нет функции: глФильтрПоПеременнойЗапроса(,,,,,); Кто знает где ее можна найти (в какой конфе) или дайте листинг функции!
Заранее спасибо!
ПУБ.
// =============================== // глФильтрПоПеременнойЗапроса(...) // // Параметры: // ТаблицаМФ - таблица значений множественного фильтра (не обязательный параметр), // ИмяПеремЗапроса - название переменной запроса, к которой применить фильтр // ПолеЕФ - значение элемента диалога, в котором вводится значение фильтра // ИмяПоляЕФ - название элемента диалога, в котором вводится значение фильтра // ТекстЗапроса - переменная, в которой содержится текст формируемого запроса // ТекстЗаголовка - переменная, в которой содержится заголовок отчета // Язык - язык, на котором будет формироваться заголовок // ВидСправочникаКатегорий - название справочника категорий // // Возвращаемое значение: // 0 - ошибка, 1 - успешно // // Описание: // Дополняет текст запроса и заголовок отчета по переданному фильтру. // Функция глФильтрПоПеременнойЗапроса(ТаблицаМФ = "",ИмяПеремЗапроса,ПолеЕФ,ИмяПоляЕФ,ТекстЗапроса,ТекстЗаголовка, Язык, ВидСправочникаКатегорий="") Экспорт Перем ПолеМФ, ИмяПоляМФ, ВремТипМФ; Перем ПолеМФКатегорий, ИмяПоляМФКатегорий, ТипМФКатегорий;
Если ПустоеЗначение(ТаблицаМФ) = 1 Тогда // нет множественного фильтра ПолеМФ = ""; ИмяПоляМФ = ""; ВремТипМФ = ""; ПолеМФСвойств = ""; ИмяПоляМФСвойств = ""; ТипМФСвойств = ""; Иначе ТаблицаМФ.ВыбратьСтроки(); Пока ТаблицаМФ.ПолучитьСтроку()=1 Цикл Если (ТаблицаМФ.СписокЭлементов.РазмерСписка()>0) и (ТаблицаМФ.ИмяПеременной=ИмяПеремЗапроса) и (ТаблицаМФ.ФлВкл=2) Тогда
Номер = ТаблицаМФ.НомерСтроки; Если (ТаблицаМФ.Вид<>"ВидыКатегорий") Тогда ИмяПоляМФ = "глУсловие"+СокрЛП(Номер); ПрисвоитьЗначениеУсловию(Номер, ТаблицаМФ.СписокЭлементов, ПолеМФ); ВремТипМФ = ТаблицаМФ.ТипМФ; Иначе // по категориям ИмяПоляМФКатегорий = "глУсловие"+СокрЛП(Номер); ТипМФКатегорий = ТаблицаМФ.ТипМФ; ПрисвоитьЗначениеУсловию(Номер, ТаблицаМФ.СписокЭлементов, ПолеМФКатегорий); КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли;
Рез2 = глФильтрПоКатегориям(ВидСправочникаКатегорий, ПолеМФКатегорий, ИмяПоляМФКатегорий, ТипМФКатегорий, ТекстЗапроса, ТекстЗаголовка, ИмяПеремЗапроса,Язык); Возврат Рез1*Рез2; // если хоть один = 0 - плохо
Такого помоему нет ввода остатков для этого расчета. Возможно ошибаюсь. Но есть вид отпуска "компенсация неиспользованного" и документ расчет средней в котором можно произвести расчет по окладу или другой цифре.
Всем доброго времени суток.Подскажите пожалуйста, с чего лучше всего начать обучение 1С программированию? Нужно ли мне иметь какие либо знания, образование или навыки в области программирования? Литературы по этому поводу видел полно.А как не счет курсов обучения ? Расскажите на сколько большая разница между 1С Программистом, 1С конфигуратором и 1С Администратором. За любые советы и ответы заранее большое спасибо
Все мы "конфигурасты" Как называют 1С-ников. крутые бородатые дядьки со знанием 10-15 всяких сложных слов из аглийских букФ Если серьезно "1С конфигуратором" такой должности нет. "1С Администратор" иногда называют человека который следит за правильностью ведения учета в базе. И выполняет рег. операции типа закрытия проведения. Либо сис. админа который может пользователя завести, базу подключить, или в коде помалости поправить чего то.
Ну программист думаю понятно.
Определиться с платформой 7.7. или 8.х (С 8.0 можно не начинать ) Начать с Радченко "Практическое пособие разработчика. Примеры и типовые приемы". Или с методички с курсов которых тоже наплодилось. Вобщем где есть сквозной пример.
ДатаП = Дата1; ТекДата = Дата1; Для А=1 По 6 Цикл тПер.НоваяСтрока(); тПер.Мес = ПериодСтр(НачМесяца(ТекДата),КонМесяца(ТекДата)); ТекДата = ДобавитьМесяц(ДатаП,а) КонецЦикла;
тПер.ВыбратьСтроки(); Пока тПер.ПолучитьСтроку()= 1 Цикл стр = 0; Период = тПер.Мес; Если ТабЗ.НайтиЗначение(тПер.Мес,стр,"Мес")=1 Тогда Заработок = ТабЗ.ПолучитьЗначение(стр,"Заработок"); КонецЕсли; Таб.ВывестиСекцию("Период"); КонецЦикла;
На типовом Админове вроде вышло Но вобщем думаю ход мыслей понял...
//Попробуй так //ЗначениеАтрибута содержит переменную ОЛЕ ПланСчетов=ЗначениеАтрибута.Вид();//находим вид плана счетов ПлСчПр=ИБПр.CreateObject("Счет."+ПланСчетов); Если ПлСчПр.НайтиПоКоду(Строка(ЗначениеАтрибута), 2)=1 тогда Возврат ПлСчПр.ТекущийСчет(); Иначе //Возврат СоздатьСчет(ИБПр, ПлСчПр, ЗначениеАтрибута); КонецЕсли;
//возможно проблема в этом ПланСчетовОле = ОЛЕ_Приемник.ПланыСчетов.ЗначениеПоИдентификатору("Основной");
Подопытный: конфигурация бухгалтерия 277. Документ Доверенность. У этого документа номер начинается с "Дов-". Я не могу понять откуда берётся это "Дов-". В данном случае мне его надо убрать.
В процедурах ВводНового и ПриОткрытии ничего не нашёл.
Добавлено: в моем случае номер начинается с "--". И имменно откуда оно берется - хз! Сейчас номер составляет 10 символов и имеет вид --00000012. Мне надо сделать, чтобы номера были вида 0012, 0013... или даже просто 12, 13... Если во всех документах я убераю "--", то при вводе нового документа получаю номер "--00000001"
Мне нужно периодически вызывать внешнюю обработку (по времени), каждый день. При старте 1с понятно как вызвать, но на ночь компы могут и не выключать. Как это сделать? Подскажите пожалуйста.
ОбработкаОжидания(<?>,) Синтаксис: ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>) Назначение: Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени. Возвращает имя процедуры глобального модуля, которая назначена для периодического запуска (на момент до исполнения процедуры). Параметры: <ИмяПроцедуры> - необязательный параметр. Строковое выражение - имя процедуры глобального модуля, которая будет вызываться периодически с временным интервалом <ИнтервалВызова>. Тело процедуры <ИмяПроцедуры> должно быть написано разработчиком конфигурации в глобальном программном модуле. Если в качестве параметра передается 'пустая строка', то ранее запущенный процесс прекращается. <ИнтервалВызова> - необязательный параметр. Числовое выражение - интервал времени в секундах, с которым периодически будет вызываться процедура глобального модуля <ИмяПроцедуры>. Если в качестве параметра передается 0 (ноль), то ранее запущенный процесс прекращается.
Это тоже лишнее если дублей товаров в строках документа нет. Сразу добавляй ТОвар в ВыбТабл
ЗЫ Кстати если бы ндо было по всем документам определенных видов то можно было запросом сделать. Было бы быстрее.. Но если не надо то и "париться" не будем.
Пока (Спр.ПолучитьЭлемент()=1) Цикл Если (ВыбТабл.НайтиЗначение(Спр.ТекущийЭлемент(),,Товар)=0) и (Спр.ЭтоГруппа()=0) Тогда ВыбТабл.НоваяСтрока(); ВыбТабл.Товар=Спр.ТекущийЭлемент(); ВыбТабл.Наименование=Спр.ТекущийЭлемент();
//Сообщить("Товар: "+Спр.ТекущийЭлемент()+" Скидка: "+Спр.ТекущийЭлемент().Скидка.Получить(ТекущаяДата())); КонецЕсли; КонецЦикла; Иначе Если (ВыбТабл.НайтиЗначение(Спр.ТекущийЭлемент(),,Товар)=0) и (Спр.ЭтоГруппа()=0) Тогда ВыбТабл.НоваяСтрока(); ВыбТабл.Товар=Спр.ТекущийЭлемент(); ВыбТабл.Наименование=Спр.ТекущийЭлемент();
Иначе СпДок = СоздатьОбъект("СписокЗначений"); СпДок.ДобавитьЗначение("Перемещение"); СпДок.ДобавитьЗначение("Приходнаянакладная");//добавить идент. необходимых еще доков
Если ВыбТабл.КоличествоСтрок()>0 Тогда ВыбТабл.УдалитьСтроки(); КонецЕсли; ТабЗн = СоздатьОбъект("ТаблицаЗначений"); ТабЗн.НоваяКолонка("Товар");
Для А=1 По СпДок.РазмерСписка() Цикл Док = СоздатьОбъект("Документ."+СпДок.ПолучитьЗначение(А)); Док.УстановитьФильтр(1,0); Док.ВыбратьДокументы();// ВыбратьДокументы(<Дата1>,<Дата2>) даты надо или нет? Пока Док.ПолучитьДокумент()=1 Цикл Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 Цикл ТабЗн.НоваяСтрока(); ТабЗн.Товар=Док.ТМЦ;
//если это торговля тогда помоему ТабЗн.Товар=Док.Товар; надо смотреть как ревизиты таб части обзываются //ограничить датами бо если много документов долго будет. // вообщем поставь задачу более четко.
А вообще есть просьба, кто зарегистрирован на инфостарте, можете поставить + здесь http://infostart.ru/public/20662/, осталось 4 голоса чтобы открылось безлимитное скачивание, а то напрягают эти лемиты. Заранее спасибо
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!