Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику vadim007 ::: Спасибо сказали: 208 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
01.10.11, 9:02 Новая база данных
Цитата(Borodin @ 29.09.11, 18:35) *
Если план счетов не отображается в документе - скорее всего не загружен справочник корректных проводок.

Создал чистую базу в новой папке на основе только одного md-файла - все прекрасно работает, план счетов есть.

Цитата(elenanestere @ 29.09.11, 11:13) *
Такой вопрос. Создала базу данных чистую, только теперь при вносе данных, например, в банковкую выписку отсутствует план счетов. Что это может быть? Спасибо за ответ.

А вообще план счетов присутствует? Из меню Операции->План счетов он вызывается?
elenanestere,
29.09.11, 12:16 Новая база данных
Цитата(elenanestere @ 29.09.11, 12:25) *
Конфигурация 1с бухгалтерия 7.7 релиз 287. Создавала папку, потом через Конфигуратор - Загрузить изменённую конфигурацию и указала расположение файла конфигурации уже существующей базы 1cv7.md

А что выдает команда Помощь->О программе?
elenanestere,
29.09.11, 11:12 При запуске отладчика окно конфигуратора
Это "лечится" следующим образом: сворачивается окно 1с предприятия, и тогда окно отладчика все время активное. Но иногда, особенно в самом начале отладки, окно отладчика все равно не активно, и приходится в него "переходить" мышкой. Но через 7-10 итераций все нормализуется.
Banzaez,
23.09.11, 14:32 Комплексная 7.7. Как вывести упр и фин остатки товаров в одну таблицу?
Если так:
|Фирма=Регистр.ОстаткиТоваров.Фирма;
...
|Условие (ПустоеЗначение(Фирма)=1);
budushi,
08.09.11, 13:30 Робота с контрагентами
Цитата(Flexy @ 07.09.11, 17:48) *
Классная у вас Фирма! smile.gif И Юристы есть и даже Администраторы 1С!!!11
А пару строк кода проверки дублей контрагентов написать некому sad.gif
Пичалька

Вот извлечение из глобального модуля для проверки ввода повторных контрагентов:
Перем ТаблКА Экспорт;
Перем Хвосты;

Функция БезХвостов(Стр)
    Ст=СокрЛП(Стр);
    Для К=1 По Хвосты.РазмерСписка() Цикл
        Хвост=Хвосты.ПолучитьЗначение(К);
        П=Найти(Ст,Хвост);
        Если П>0 Тогда
            Ст=Лев(Ст,П-1)+Сред(Ст,П+СтрДлина(Хвост));
        КонецЕсли;
    КонецЦикла;                                          
    Возврат Ст;
КонецФункции

Процедура ЗаменитьСимволы(Стр, Что, НаЧто)
    Пока Найти(Стр, Что) > 0 Цикл
        Стр = СтрЗаменить(Стр, Что, НаЧто);
    КонецЦикла;
КонецПроцедуры

Функция Нормализация(Стр)
    Какашки="`~!@#$%^&*()_+|\/;:""№?{}[]-,";
    // Уберем хвосты
    Ст=СокрЛП(БезХвостов(НРег(Стр)));
    // Уберем какашки
    Для Инд=1 По СтрДлина(Какашки) Цикл
        Какашка = Сред(Какашки, Инд, 1);
        ЗаменитьСимволы(Ст, Какашка, "");
    КонецЦикла;
    // Оставим по одному пробелу между словами
    ЗаменитьСимволы(Ст, "  ", " ");
    ЗаменитьСимволы(Ст, " .", ".");
    Возврат Ст;
КонецФункции

Функция ПоСловам(Стр)
    Сп=СоздатьОбъект("СписокЗначений");
    Слово="";
    Для К=1 По СтрДлина(Стр) Цикл
        С=Сред(Стр,К,1);
        Если С=" " Тогда
            Сп.ДобавитьЗначение(Слово);
            Слово="";
        Иначе    
            Слово=Слово+С;
        КонецЕсли;
    КонецЦикла;    
    Если Слово<>"" Тогда
        Сп.ДобавитьЗначение(Слово);
    КонецЕсли;      
    Возврат Сп;
КонецФункции //ПоСловам

Процедура глВнестиКонтрагента(Контр) Экспорт
    Назв=Нормализация(Контр.Наименование);
    Если Назв="" Тогда
        Возврат;
    КонецЕсли;
    П=0;
    Сп=ПоСловам(Назв);
    Если ТаблКА.НайтиЗначение(Контр,П,"Контрагент") = 1 Тогда
        ТаблКА.ПолучитьСтрокуПоНомеру(П);
        Сп.Выгрузить(ТаблКА.Список);
    Иначе
        ТаблКА.НоваяСтрока();
        ТаблКА.Контрагент=Контр;
        ТаблКА.Список=Сп;
    КонецЕсли;
    ТаблКА.Краткое=Назв;
КонецПроцедуры

Процедура ЗагрузитьКонтрагентов(Табл)
    Состояние("Загрузка справочника контрагентов...");
    Контр= СоздатьОбъект("Справочник.Контрагенты");
    Контр.ВыбратьЭлементы();
    П=0;
    ПП=100;
    Пока Контр.ПолучитьЭлемент()=1 Цикл
        П=П+1;
        Если П>=ПП Тогда
            Состояние("Загрузка справочника контрагентов ("+Строка(ПП)+")...");
            ПП=ПП+100;
        КонецЕсли;
        Если Контр.ЭтоГруппа()=1 Тогда
            Продолжить;
        КонецЕсли;
        Назв=Нормализация(Контр.Наименование);
        Если Назв="" Тогда
            Продолжить;
        КонецЕсли;
        Сп=ПоСловам(Назв);
        Табл.НоваяСтрока();
        Табл.Контрагент=Контр.ТекущийЭлемент();
        Табл.Краткое=Назв;
        Табл.Список=Сп;
    КонецЦикла;
КонецПроцедуры

Функция СравнитьСписки(Наим1,Сп1,Наим2,Спп2,Т,Сп)
    Т.УдалитьСтроки();                
    Сп2=Спп2;
    Наим11=Наим1;
    Наим22=Наим2;
    Если ПустоеЗначение(Сп1)=0 Тогда
        Для К=1 По Сп1.РазмерСписка() Цикл
            Слово1=Сп1.ПолучитьЗначение(К);
            Слово="";
            Дл=0;            
            П=0;
            Дл1=СтрДлина(Слово1);
            Если ПустоеЗначение(Сп2)=0 Тогда
                Для Л=1 По Сп2.РазмерСписка() Цикл
                    Слово2=Сп2.ПолучитьЗначение(Л);
                    Дл2=СтрДлина(Слово2);
                    Если СтрДлина(Слово1)<СтрДлина(Слово2) Тогда
                        Если Лев(Слово2,Дл1)=Слово1 Тогда
                            Если Дл<Дл1 Тогда
                                Дл=Дл1;
                                П=Л;
                                Слово=Слово2;
                            КонецЕсли;
                        КонецЕсли;
                    Иначе
                        Если Лев(Слово1,Дл2)=Слово2 Тогда
                            Если Дл<Дл2 Тогда
                                Дл=Дл2;
                                Слово=Слово2;
                                П=Л;
                            КонецЕсли;
                        КонецЕсли;
                    КонецЕсли;    
                КонецЦикла;    
            КонецЕсли;
            Если Дл>0 Тогда
                Т.НоваяСтрока();
                Т.Слово1=Слово1;
                Т.Слово2=Слово;
                Т.Длина=Дл;
            КонецЕсли;
        КонецЦикла;    
    КонецЕсли;
    Т.Сортировать("-Длина,+Слово1");
    Сп.УдалитьВсе();
    БылСлово="";      
    Т.ВыбратьСтроки();
    Пока Т.ПолучитьСтроку()=1 Цикл
        Если Т.Слово1=БылСлово Тогда
            Продолжить;
        КонецЕсли;
        Если Сп.НайтиЗначение(Т.Слово2)>0 Тогда
            Продолжить;
        КонецЕсли;
        БылСлово=Т.Слово1;
        П=Найти(Наим11,Т.Слово1);
        Если П>0 Тогда
            Наим11=Лев(Наим11,П-1)+Сред(Наим11,П+СтрДлина(Т.Слово1));
        КонецЕсли;
        П=Найти(Наим22,Т.Слово2);
        Если П>0 Тогда
            Наим22=Лев(Наим22,П-1)+Сред(Наим22,П+СтрДлина(Т.Слово2));
        КонецЕсли;
    КонецЦикла;
    Кол=0;
    Для К=1 По СтрДлина(Наим11) Цикл
        С=Сред(Наим11,К,1);
        П=Найти(Наим22,С);
        Если П>0 Тогда
            Кол=Кол+1;
            Наим22=Лев(Наим22,П-1)+Сред(Наим22,П+1);
        КонецЕсли;
    КонецЦикла;    
    Возврат Макс(СтрДлина(Наим11)-Кол,СтрДлина(Наим22));
КонецФункции    
    
Функция глПоискПовторенийВСправочнике(Наим, Эл="") Экспорт
    Если ПустоеЗначение(ТаблКА)=1 Тогда
        ТаблКА.НоваяКолонка("Контрагент","Справочник.Контрагенты");
        ТаблКА.НоваяКолонка("Краткое","Строка");
        ТаблКА.НоваяКолонка("Список");
        ЗагрузитьКонтрагентов(ТаблКА);
    КонецЕсли;
    Гран=0.005; //! Граница чуствительности числа одинаковых символов
    СпКА=СоздатьОбъект("СписокЗначений");
    Назв=Нормализация(Наим);
    Сп1=ПоСловам(Назв);
    К=0;
    КК=50;
    ТТТ=СоздатьОбъект("ТаблицаЗначений");
    ТТТ.НоваяКолонка("Слово1","Строка");
    ТТТ.НоваяКолонка("Слово2","Строка");
    ТТТ.НоваяКолонка("Длина","Число");
    Спп=СоздатьОбъект("СписокЗначений");
    Шаг=Окр(ТаблКА.КоличествоСтрок()/30,0,1);
    КК=Шаг;
    ТаблКА.ВыбратьСтроки();
    Пока ТаблКА.ПолучитьСтроку()=1 Цикл
        К=К+1;
        Если К>=КК Тогда
            Состояние("Поиск "+КК+" из "+ТаблКА.КоличествоСтрок()+" ...");
            КК=КК+Шаг;
        КонецЕсли;
        Если Эл<>"" Тогда
            Если Эл=ТаблКА.Контрагент Тогда
                Продолжить;
            КонецЕсли;
        КонецЕсли;
        Сп2=ТаблКА.Список;
        Р=СравнитьСписки(Назв,Сп1,ТаблКА.Краткое,Сп2,ТТТ,Спп);
        Если Р=0 Тогда
            В=1;
        Иначе
            М=Мин(СтрДлина(Назв),СтрДлина(ТаблКА.Краткое));
            В=?(?(М=0,100,Р/М)<=Гран,1,0);
        КонецЕсли;
        Если В=1 Тогда
            СпКА.ДобавитьЗначение(ТаблКА.Контрагент);
        КонецЕсли;
    КонецЦикла;
    Если СпКА.РазмерСписка()>0 Тогда
        Сп=СоздатьОбъект("СписокЗначений");
        Сп.ДобавитьЗначение(СпКА,"Список");
        Сп.ДобавитьЗначение(Наим,"Наименование");
        ОткрытьФормуМодально("Обработка.ПовторенияКонтрагентов",Сп);
        Если Число(Сп.Получить("Отменено"))=1 Тогда
            Возврат 0;
        КонецЕсли;
    КонецЕсли;
    Возврат 1;
КонецФункции //ПоискПовторенийВСправочнике
...
// В конце гл.модуля
ТаблКА= СоздатьОбъект("ТаблицаЗначений");
Хвосты=СоздатьОбъект("СписокЗначений");
Хвосты.ДобавитьЗначение("ооо");
Хвосты.ДобавитьЗначение("аозт");
Хвосты.ДобавитьЗначение("гоао");
Хвосты.ДобавитьЗначение("чп");
Хвосты.ДобавитьЗначение("ч.п.");
Хвосты.ДобавитьЗначение("муп");
Хвосты.ДобавитьЗначение("атп");
Хвосты.ДобавитьЗначение("оао");
Хвосты.ДобавитьЗначение("имнс");
Хвосты.ДобавитьЗначение("гни");
Хвосты.ДобавитьЗначение("пни");
Хвосты.ДобавитьЗначение("зао");
Хвосты.ДобавитьЗначение("ч/п");
Хвосты.ДобавитьЗначение("ч.п");
Хвосты.ДобавитьЗначение("предприниматель");
Хвосты.ДобавитьЗначение("предпринимат");
Хвосты.ДобавитьЗначение("предприн");
Хвосты.ДобавитьЗначение("предпр");
Хвосты.ДобавитьЗначение("предп");

В модуле формы справочника Контрагенты, в процедуре ПриЗаписи(), добавляем фрагмент:
        Эл=?(Выбран()=1,ТекущийЭлемент(),"");
    Если глПоискПовторенийВСправочнике(Наименование, Эл)=0 Тогда
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
    Записать();
    глВнестиКонтрагента(ТекущийЭлемент());
l2d808,
08.09.11, 9:40 Улыбнуло
Переводчик http://translate.yandex.ru/, перевожу слово "нижеподписавшиеся", ошибочно задал направление перевода Украинский->Русский. Перевел как сергеевна
Alan68,
30.05.11, 16:28 В документе пропадают строки...
Зачем так сложно - копировать строки документа в цикле. Я так понял - нужно создать точную копию исходного документа? Используйте ВыгрузитьТабличнуюЧасть(..), ЗагрузитьТабличнуюЧасть(..).
PS: Использование ДокОснование.ПолучитьСтрокуПоНомеру(стр); в начале циклов Для а=стр по ДокОснование.КоличествоСтрок() Цикл лишено смысла. Условие внутри цикла Пока ДокОснование.ПолучитьСтроку()=1 Цикл не совсем прозрачное для стороннего взгляда, нужно пройтись отладчиком на реальных данных. Лучше ставьте отладочные сообщения в этом цикле, и помотрите, сколько на самом деле копируется строк в новый документ. Но все эти "выкрутасы" с циклами не совсем понятны, если цель - ввести точно такой-же документ на основании.
awp,
25.05.11, 15:09 Документ ИзменениеПараметровНеоборАктивов для Бухии
Добавил в стандартную Бухгалтерию для семерки документ ИзменениеПараметровНеоборАктивов (взято из ПУБа): http://webfile.ru/5345093
При обновлении конфигурации выбрать только документ ИзменениеПараметровНеоборАктивов.
Можно также отметить и справочник НеоборотныеАктивы, если он у вас не отличается от стандартного. Иначе нужно в справочнике НеоборотныеАктивы, в свойствах атрибута НормаАмортизацииПоНалоговомуМетоду, на вкладке Дополнительно, отметить галочкой поле "Изменяется документом". Это нужно для того, чтобы сохранять значение нового значения НормаАмортизацииПоНалоговомуМетоду с помощью вызова УстановитьРеквизитСправочника(..) в модуле проведения.
Также можно добавить в глобальном модуле, в процедуре ПриНачалеРаботыСистемы(), добавить строку ПрефиксАвтонумерации("Документ.ИзменениеПараметровНеоборАктивов","ИПН-"). Это по желанию.
Alex729, Vofka,
16.04.11, 8:10 Соединить две фирмы
Цитата(IgorBMW @ 14.04.11, 20:37) *
Подскажите, пожалуйста, как добавить уже работающую "новую" фирму со справочниками и всеми документами к уже существующей?
Это нужно для консолидации двух и более (до семи) фирм в одну базу.

IgorBMW правильно поставленный вопрос - это половина ответа. Можно я попробую перефразировать ваш вопрос в более понятный? Спасибо.
Итак, требуется объединить несколько работающих баз 1С конфигурвции "Бухучет для Украины" в одну. Правильно? Если "ДА" - то поехали.
1. Для чего? Единственное преимущество от этого - получение бухгалтерских отчетов отдельно по предприятию или по всем вместе. Т.е. будет как-бы консолидированная отчетность. У Вас Холдинг? Тогда нужно смотреть в сторону российских конфигураций. Если "чтобы все было в одной базе", то не стоит овчинка выделки.
2. Смотрю тупо на строку Это нужно для консолидации двух и более (до семи) фирм в одну базу. Все таки холдинг, и все таки нужно. Тогда будем собирать минусы не в пользу решения оставить все в текущей конфигурации.
3. Конфигурации должны быть однотипными. Вы точно знаете, что все семь фирм работают в "Бухучет для Украины"? Может одна работает с ТиС, другая с ПУБ?
4. Конфигурации должны быть идентичными. Это даже не обсуждается.
5. Константы. Здесь можут возникнуть камень преткновения. Если все семь баз "слить" в одну базу, то значения констант будут действовать для всех фирм одинаково. Нельзя будет задать для одной фирмы константу "Кто выписывает налоговую накладную" Петрова В.В., а для другой фирмы - Сидорова А.А. Это касается и других констант, особенно из группы "Валовые доходы/расходы". А если у фирм, которые вы хотите консолидировать, разные значения констант "Использовать счета расходов", "Метод партионного учета", то при консолидации вы просто поломаете их учет.
6. Еще один очень неприятный, на мой взгляд, момент - префиксы нумерации документов. При одной фирме, т.е. когда не активирован разделитель учета, каждый документ имеет свой префикс, по которому его легко быстро выделить в общем журнале. "Оказание услуг" - ОУ-000001, "Банковская выписка" - БВ-000001, и т.д. При включении разделителя учета Фирма, префикс нумерации будет тот, который задан для каждой фирмы в справочнике Фирмы. Например, если для фирмы Добро задан префикс ДО, то, для уже приведенных примеров, "Оказание услуг" - ДО-000001, "Банковская выписка" - ДО-000001.
7. Обработок для выполнения такой работы нет. Единственная вменяемая, которую я встречал - Univero 2.7 (Universal 2.7). Но автор давно забросил ее, а жаль. На дисках ИТС есть "Конвертация данных". Думаю, с помощью ее можно сделать такую работу, но на изучение самой "Конвертации данных" нужно потратить до пол-года. Так что вам лучше обратиться к серьезному франчайзи. За 5 копеек такую работу не выполнишь, если вы конечно еще не передумали.
Batchir, IgorBMW, Vofka,

5 страниц V  « < 3 4 5
RSS Текстовая версия Сейчас: 29.03.24, 17:32
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!